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
180
プロセスへのメモリ割り当て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
1
18
常駐サービスを実現するデーモンプロセス
sat
PRO
0
22
絶対殺すSIGKILLシグナルと絶対死なないプロセス
sat
PRO
3
77
シェルのセッション
sat
PRO
2
30
RubyでKubernetesプログラミング
sat
PRO
4
180
プロセスの生成 exec編
sat
PRO
1
39
プロセスの生成 fork&exec編
sat
PRO
0
34
プロセスの生成 コピーオンライトを使ったfork編
sat
PRO
0
33
プロセスの生成 fork編
sat
PRO
0
37
Other Decks in Technology
See All in Technology
2024.02.19 W&B AIエージェントLT会 / AIエージェントが業務を代行するための計画と実行 / Algomatic 宮脇
smiyawaki0820
15
4.1k
EDRの検知の仕組みと検知回避について
chayakonanaika
2
850
抽象化をするということ - 具体と抽象の往復を身につける / Abstraction and concretization
soudai
27
14k
偏光画像処理ライブラリを作った話
elerac
1
120
JEDAI Meetup! Databricks AI/BI概要
databricksjapan
0
280
ESXi で仮想化した ARM 環境で LLM を動作させてみるぞ
unnowataru
0
130
現場で役立つAPIデザイン
nagix
35
13k
Culture Deck
optfit
0
480
Amazon S3 Tablesと外部分析基盤連携について / Amazon S3 Tables and External Data Analytics Platform
nttcom
0
150
CDKのコードを書く環境を作りました with Amazon Q
nobuhitomorioka
1
120
管理者しか知らないOutlookの裏側のAIを覗く#AzureTravelers
hirotomotaguchi
2
510
Cloud Spanner 導入で実現した快適な開発と運用について
colopl
1
910
Featured
See All Featured
The Cult of Friendly URLs
andyhume
78
6.2k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
330
21k
Docker and Python
trallard
44
3.3k
Navigating Team Friction
lara
183
15k
[RailsConf 2023] Rails as a piece of cake
palkan
53
5.3k
It's Worth the Effort
3n
184
28k
Building Your Own Lightsaber
phodgson
104
6.2k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.1k
Embracing the Ebb and Flow
colly
84
4.6k
Building a Modern Day E-commerce SEO Strategy
aleyda
38
7.1k
Being A Developer After 40
akosma
89
590k
Art, The Web, and Tiny UX
lynnandtonic
298
20k
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