Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
プロセスへのメモリ割り当て(4) 実際に使うときにメモリを獲得する デマンドページング(実践編) Jul. 19th, 2024 Satoru Takeuchi X: satoru_takeuchi 1
Slide 2
Slide 2 text
はなすこと ● これまでに学んだこと ○ Linuxはデマンドページング方式でプロセスにメモリを割り当てる ● 実際にそうなることを実験で確認 ● 実験環境 ○ Ubuntu 22.04.4 LTS ○ kernel 5.15.0-107-generic 2
Slide 3
Slide 3 text
実験プログラム ● demand-paging.py ○ mmapを呼び出して100MiBのメモリを獲得 ○ 1秒に1回、先頭から順番に 10MiBづつ、合計100MiBの領域にアクセス 3 仮想アドレス空間 1. 100MiBの領域をmmap 2. 先頭10MiBにアクセス 3. 次の10MiBにアクセス …
Slide 4
Slide 4 text
実験中に別端末でメモリ関連の統計情報を見る ● sar -r 1 ○ 1秒間に1回メモリ関連統計情報を出力 ● 見るべきフィールド ○ kbmemused: 使用中のメモリ量[KiB] 4
Slide 5
Slide 5 text
実験中… ● 上の端末 ○ ./demand-paging.py ● 下の端末 ○ sar -r 1 5
Slide 6
Slide 6 text
まとめ ● Linuxがデマンドページング方式でメモリ獲得していることがわかった ○ mmap発行時にはメモリ使用量は増えない ○ メモリ使用量が増えるのは実際にメモリアクセスしたとき 6