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
170
プロセスへのメモリ割り当て4 - 実際に使うときにメモリを獲得するデマンドページング(実践編)
以下動画のテキストです。
https://youtu.be/GwLZaMPhInM
Satoru Takeuchi
PRO
July 19, 2024
Tweet
Share
More Decks by Satoru Takeuchi
See All by Satoru Takeuchi
RubyでKubernetesプログラミング
sat
PRO
4
160
プロセスの生成 exec編
sat
PRO
1
34
プロセスの生成 fork&exec編
sat
PRO
0
25
プロセスの生成 コピーオンライトを使ったfork編
sat
PRO
0
27
プロセスの生成 fork編
sat
PRO
0
31
静的ライブラリと 共有ライブラリの違いを実験で確認
sat
PRO
1
40
ハイテク休憩
sat
PRO
2
200
利きプロセススケジューラ
sat
PRO
5
3.2k
俺とVSCode Python Debugger Extension
sat
PRO
1
210
Other Decks in Technology
See All in Technology
reinvent2024を起点に振り返るサーバーレスアップデート
mihonda
1
120
DevSecOps入門:Security Development Lifecycleによる開発プロセスのセキュリティ強化
yuriemori
0
110
実践!生成AIのビジネス活用 / How to utilize Generative AI in your own business
gakumura
1
140
AIアプリケーション開発でAzure AI Searchを使いこなすためには
isidaitc
1
170
ABWGのRe:Cap!
hm5ug
1
140
【Oracle Cloud ウェビナー】2025年のセキュリティ脅威を読み解く:リスクに備えるためのレジリエンスとデータ保護
oracle4engineer
PRO
1
120
Mocking your codebase without cursing it
gaqzi
0
110
iPadOS18でフローティングタブバーを解除してみた
sansantech
PRO
1
170
MicrosoftのOSSだけでAIによるブラウザテストを構成する
ymd65536
1
160
Plants vs thieves: Automated Tests in the World of Web Security
leichteckig
0
130
ドメイン駆動設計の実践により事業の成長スピードと保守性を両立するショッピングクーポン
lycorptech_jp
PRO
15
2.8k
トラブルシュートを楽しもう (wakamonog meeting 15)
recuraki
3
900
Featured
See All Featured
Building a Scalable Design System with Sketch
lauravandoore
460
33k
What's in a price? How to price your products and services
michaelherold
244
12k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
Building a Modern Day E-commerce SEO Strategy
aleyda
38
7.1k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
49
2.2k
Designing on Purpose - Digital PM Summit 2013
jponch
117
7.1k
GraphQLとの向き合い方2022年版
quramy
44
13k
Thoughts on Productivity
jonyablonski
68
4.4k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
29
970
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
10
870
Docker and Python
trallard
43
3.2k
How GitHub (no longer) Works
holman
312
140k
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