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
Linuxのメモリ管理入門
Search
Satoru Takeuchi
PRO
September 17, 2022
Technology
1
380
Linuxのメモリ管理入門
以下動画のテキストです。
https://youtu.be/ncHq6xgLkZs
Satoru Takeuchi
PRO
September 17, 2022
Tweet
Share
More Decks by Satoru Takeuchi
See All by Satoru Takeuchi
「Linux」という言葉が指すもの
sat
PRO
4
140
APIとABIの違い
sat
PRO
5
62
ファイルシステムへのアクセス方法
sat
PRO
0
26
ファイルシステム
sat
PRO
1
34
低レイヤソフトウェア技術者が YouTuberとして食っていこうとした話
sat
PRO
7
6.1k
ポーリングと割り込み
sat
PRO
1
81
Rook: Intro and Deep Dive With Ceph
sat
PRO
1
140
会社員しながら本を書いてきた知見の共有
sat
PRO
3
880
デバイスにアクセスするデバイスファイル
sat
PRO
1
63
Other Decks in Technology
See All in Technology
20250905_MeetUp_Ito-san_s_presentation.pdf
magicpod
1
100
スクラムガイドに載っていないスクラムのはじめかた - チームでスクラムをはじめるときに知っておきたい勘所を集めてみました! - / How to start Scrum that is not written in the Scrum Guide 2nd
takaking22
1
170
[ JAWS-UG 東京 CommunityBuilders Night #2 ]SlackとAmazon Q Developerで 運用効率化を模索する
sh_fk2
3
460
未経験者・初心者に贈る!40分でわかるAndroidアプリ開発の今と大事なポイント
operando
5
750
Rustから学ぶ 非同期処理の仕組み
skanehira
1
150
初めてAWSを使うときのセキュリティ覚書〜初心者支部編〜
cmusudakeisuke
1
280
機械学習を扱うプラットフォーム開発と運用事例
lycorptech_jp
PRO
0
650
Automating Web Accessibility Testing with AI Agents
maminami373
0
1.3k
Modern Linux
oracle4engineer
PRO
0
160
企業の生成AIガバナンスにおけるエージェントとセキュリティ
lycorptech_jp
PRO
2
200
自作JSエンジンに推しプロポーザルを実装したい!
sajikix
1
190
CDK CLIで使ってたあの機能、CDK Toolkit Libraryではどうやるの?
smt7174
4
190
Featured
See All Featured
Practical Orchestrator
shlominoach
190
11k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
[RailsConf 2023] Rails as a piece of cake
palkan
57
5.8k
Fireside Chat
paigeccino
39
3.6k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
285
14k
How to Ace a Technical Interview
jacobian
279
23k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
36
2.5k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
580
Scaling GitHub
holman
463
140k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
188
55k
We Have a Design System, Now What?
morganepeng
53
7.8k
Site-Speed That Sticks
csswizardry
10
820
Transcript
Linuxのメモリ管理入門 Sep. 17th, 2022 Satoru Takeuchi twitter: satoru_takeuchi
マシンの物理メモリはカーネル&全プロセス共有 マシンの全メモリ 空きメモリ プロセス0 のメモリ プロセス1 のメモリ カーネルのメモリ プロセスn のメモリ
… 物理メモリを管理して各プロセスにメモリを割り当てる
freeコマンドでうちわけがわかる total プロセスが使用中 free カーネルが使用中 解放可能 解放不可能 buff/cache (バッファキャッシュ& ページキャッシュ)
used = total - free - buff/cache available
大事なところだけ抜粋 total プロセスが使用中 free カーネルが使用中 解放可能 解放不可能 available
空きメモリが減ってくると… total プロセスが使用中 free カーネルが使用中 解放可能 解放不可能 available せまくてつらい
カーネルの解放可能メモリを解放 total プロセスが使用中 free カーネルが使用中 解放不可能 available つらくなくなった 解放可能
📝 メモリ使用量についてもっと細かく知りたければ • /proc/meminfoにメモリ使用量のさらに詳しいうちわけがわかる • カーネルの知識がないと理解が大変 • 興味があればman procfsの説明を見てね
まとめ 物理メモリはカーネルが管理し、カーネルとプロセスが共用 freeコマンドを使えば物理メモリ使用量のだいたいの内訳がわかる メモリが減ってきたら解放可能メモリを解放する freeフィールドに騙されずにavailableフィールドを見よう もっと知りたければ/proc/meminfoを見よう