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
220
Linuxのメモリ管理入門
以下動画のテキストです。
https://youtu.be/ncHq6xgLkZs
Satoru Takeuchi
PRO
September 17, 2022
Tweet
Share
More Decks by Satoru Takeuchi
See All by Satoru Takeuchi
データ冗長化のしくみRAID 基礎概念とRAID1編
sat
PRO
2
19
RAIDの実現方法
sat
PRO
2
47
Linux環境のCPU上で10ミリ秒間に起こること
sat
PRO
3
96
HDDへのアクセス速度は位置によって変わる!??
sat
PRO
4
53
ボリュームマネージャLVM
sat
PRO
2
84
Best Practices of Production-Grade Rook/Ceph Cluster
sat
PRO
1
1.9k
OSSへの貢献をはじめたきっかけ、貢献で得たもの、やりたい人へのアドバイス(改)
sat
PRO
4
120
device mapperによるディスクI/O障害のエミュレーション 既存ターゲット編
sat
PRO
0
120
分散ストレージCephのデータ破壊検知修復機能は本当に動作するのか
sat
PRO
0
51
Other Decks in Technology
See All in Technology
DevOpsDays History and my DevOps story
kawaguti
PRO
7
1.3k
アプリがつくるNOT A HOTELブランド
hokuts
0
450
Amplify Gen2を 拡張してみよう JAWS-UG北陸新幹線 ( 福井開催 ) 2024-04-06/Let's extend Amplify Gen2
fossamagna
0
280
長期運用プロジェクトでのMySQLからTiDB移行の検証
colopl
1
400
The AI Revolution Will Not Be Monopolized: How open-source beats economies of scale, even for LLMs (QCon London)
inesmontani
PRO
0
140
ユーザーストーリーのレビューを自動化したみたの
bun913
1
280
【SORACOM UG】SIM Deep Dive セキュアエレメント編
soracom
PRO
0
240
シン・Kafka / shin-kafka
oracle4engineer
PRO
6
2.7k
Next'24 事例セッションの紹介とクラウド資格を活用したキャリア形成について語りMuscle
yasumuusan
0
240
"好き"との生活/Regularly update profile with GitHub Actions
judeeeee
0
140
SREとその組織類型
tatsuo48
8
1.4k
普段有償でサポート業務をしているCSAが技術知見を無料で公開する理由
07jp27
1
620
Featured
See All Featured
ParisWeb 2013: Learning to Love: Crash Course in Emotional UX Design
dotmariusz
103
6.6k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
24
2.3k
Put a Button on it: Removing Barriers to Going Fast.
kastner
58
3k
Creatively Recalculating Your Daily Design Routine
revolveconf
209
11k
Building an army of robots
kneath
300
41k
Robots, Beer and Maslow
schacon
PRO
154
7.9k
Building Your Own Lightsaber
phodgson
97
5.7k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
243
20k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
1
1.3k
Clear Off the Table
cherdarchuk
82
310k
The Cult of Friendly URLs
andyhume
73
5.7k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
6
990
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を見よう