Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
プロセスへのメモリ割り当て4 - 実際に使うときにメモリを獲得するデマンドページング(実践編)
Search
Satoru Takeuchi
PRO
July 19, 2024
Technology
1
68
プロセスへのメモリ割り当て4 - 実際に使うときにメモリを獲得するデマンドページング(実践編)
以下動画のテキストです。
https://youtu.be/GwLZaMPhInM
Satoru Takeuchi
PRO
July 19, 2024
Tweet
Share
More Decks by Satoru Takeuchi
See All by Satoru Takeuchi
AWKへの愛を語る
sat
PRO
3
460
syncコマンドのデータ同期 完了待ちやエラー検出
sat
PRO
0
24
動作中のLinux環境の全メモリを見る
sat
PRO
1
50
Linuxの時間を10秒止める
sat
PRO
2
180
プロセスへのメモリ割り当て(3) 実際に使うときにメモリを獲得するデマンドページング
sat
PRO
1
46
プロセスへのメモリ割り当て(1) mmap
sat
PRO
2
90
プロセスへのメモリ割り当て2-Pythonのようなナウい言語ではどうやってメモリ獲得するのか
sat
PRO
1
81
サイボウズのOSPO
sat
PRO
3
270
無いはずのパーティションがある Phantom Atari Partition
sat
PRO
1
67
Other Decks in Technology
See All in Technology
20240906_JAWS_Yamanashi_#1_leap_beyond_the_AWS_all_certifications
tsumita
1
100
Practical GenAI with Go - Elastic and Golang Sydney
adriancole
0
130
X-Correlation Injections (or How to break server-side contexts)
fransrosen
0
360
Chunk computing
matyo91
0
270
疎通2024
sadnessojisan
4
490
[RSJ24] Task Success Prediction for Open-Vocabulary Manipulation Based on Multi-Level Aligned Representations
keio_smilab
PRO
0
220
中規模・ミドルTier開発組織におけるDevRelの戦略と実行と成果 - DevRel Guild Conference Mini -
leveragestech
2
260
PlaywrightによるE2Eテスト入門 / Introduction to E2E Testing with Playwright
rhumie
3
910
データウェアハウス製品のSnowflakeでPythonが動くって知ってました?
foursue
1
150
[RSJ24] Object Retrieval in Large-Scale Indoor Environments Using Dense Text with a Multi-Modal Large Language Model
keio_smilab
PRO
0
220
技術力あげたい
hisaichi5518
2
2.8k
Dify - LINE Bot連携 考え方と実用テクニック
uezo
5
1.1k
Featured
See All Featured
It's Worth the Effort
3n
182
27k
Embracing the Ebb and Flow
colly
83
4.4k
Build The Right Thing And Hit Your Dates
maggiecrowley
29
2.2k
Creatively Recalculating Your Daily Design Routine
revolveconf
215
12k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
226
52k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
38
9.1k
Making Projects Easy
brettharned
113
5.8k
Side Projects
sachag
451
42k
Designing Experiences People Love
moore
138
23k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
29
2.5k
10 Git Anti Patterns You Should be Aware of
lemiorhan
653
58k
Pencils Down: Stop Designing & Start Developing
hursman
118
11k
Transcript
プロセスへのメモリ割り当て(4) 実際に使うときにメモリを獲得する デマンドページング(実践編) Jul. 19th, 2024 Satoru Takeuchi X: satoru_takeuchi
1
はなすこと • これまでに学んだこと ◦ Linuxはデマンドページング方式でプロセスにメモリを割り当てる • 実際にそうなることを実験で確認 • 実験環境 ◦
Ubuntu 22.04.4 LTS ◦ kernel 5.15.0-107-generic 2
実験プログラム • demand-paging.py ◦ mmapを呼び出して100MiBのメモリを獲得 ◦ 1秒に1回、先頭から順番に 10MiBづつ、合計100MiBの領域にアクセス 3 仮想アドレス空間
1. 100MiBの領域をmmap 2. 先頭10MiBにアクセス 3. 次の10MiBにアクセス …
実験中に別端末でメモリ関連の統計情報を見る • sar -r 1 ◦ 1秒間に1回メモリ関連統計情報を出力 • 見るべきフィールド ◦
kbmemused: 使用中のメモリ量[KiB] 4
実験中… • 上の端末 ◦ ./demand-paging.py • 下の端末 ◦ sar -r
1 5
まとめ • Linuxがデマンドページング方式でメモリ獲得していることがわかった ◦ mmap発行時にはメモリ使用量は増えない ◦ メモリ使用量が増えるのは実際にメモリアクセスしたとき 6