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
240
プロセスへのメモリ割り当て4 - 実際に使うときにメモリを獲得するデマンドページング(実践編)
以下動画のテキストです。
https://youtu.be/GwLZaMPhInM
Satoru Takeuchi
PRO
July 19, 2024
Tweet
Share
More Decks by Satoru Takeuchi
See All by Satoru Takeuchi
会社員しながら本を書いてきた知見の共有
sat
PRO
3
730
デバイスにアクセスするデバイスファイル
sat
PRO
1
31
ファイルシステムのデータを ブロックデバイスへの操作で変更
sat
PRO
1
27
デバイスドライバ
sat
PRO
0
41
マルチスレッドの実現方法 ~カーネルスレッドとユーザスレッド~
sat
PRO
2
92
共有メモリ
sat
PRO
3
62
マルチスレッドプログラム
sat
PRO
3
54
Linuxのブートプロセス initramfs編
sat
PRO
2
70
Linuxのブートプロセス
sat
PRO
6
170
Other Decks in Technology
See All in Technology
ゆるSRE #11 LT
okaru
1
530
大失敗しないための Web API 開発レシピ / A recipe for not making a big failure on WebAPI development
yokawasa
1
230
Web Intelligence and Visual Media Analytics
weblyzard
PRO
1
6.1k
Vibe Codingの裏で、 考える力をどう取り戻すか
csekine
2
600
Oracle Cloud Infrastructureデータベース・クラウド:各バージョンのサポート期間
oracle4engineer
PRO
48
33k
ai bot got sick (abc 2025s version)
kojira
0
160
やさしい認証認可
minorun365
PRO
29
11k
キャッシュレス決済のプロダクトから決済基盤への進化
b1a9id
0
220
Introduction to Sansan Meishi Maker Development Engineer
sansan33
PRO
0
270
フルカイテン株式会社 エンジニア向け採用資料
fullkaiten
0
7k
impressions-trying-lambda-web-adapter
junkishigaki
2
160
Long journey of Continuous Delivery at Mercari
hisaharu
0
190
Featured
See All Featured
Rails Girls Zürich Keynote
gr2m
94
14k
How STYLIGHT went responsive
nonsquared
100
5.6k
Adopting Sorbet at Scale
ufuk
77
9.4k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Agile that works and the tools we love
rasmusluckow
329
21k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
357
30k
RailsConf 2023
tenderlove
30
1.1k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.3k
Docker and Python
trallard
44
3.4k
The Art of Programming - Codeland 2020
erikaheidi
54
13k
What's in a price? How to price your products and services
michaelherold
245
12k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
657
60k
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