記事の内容
この記事では、Linuxのメモリを確認する方法を紹介します。
Linuxにあるメモリの確認方法
Procから情報を確認する場合
項目 | 意味 | 例 |
---|---|---|
MemTotal | 全てのメモリ | 62GB (61835524 kB) |
MemFree | 使われていないメモリ | 39GB (39735428 kB) |
freeコマンドで確認する場合
total | used | free | s h a r e d |
b u f f e r s |
cached | |
---|---|---|---|---|---|---|
Mem | OSが認識 している 物理的な メモリ |
使用している メモリサイズ |
空きメモリ サイズ(例38G) |
無視 | File cache (例15G) |
|
buffers/ cache |
使用中のメモリ | 実際に使用 されていないメモリ(38+15=54G) |
||||
Swap | 全てのSwap | 0 (0の状態がいい。 diskアクセスが ない) |
使われていない swap |
buffers/cacheに書かれている数字が、実際にLinuxで使われているメモリです。
上記の例だと、約5GBが使われています。
cachedは、Linuxのページキャッシュのことですね。
Linuxのページキャッシュのために、約15GBが確保されています。
もう少し、ページキャッシュについて知りたい方は、以下の内容を読んで下さい。
Linuxは一度ディスクから読みだしたデータは、可能な限りメモリにキャッシュして、次回以降の読み込みが高速に行われるように調整します。
このメモリに読みだしたデータのキャッシュを「ページキャッシュ」と呼びます。
CPUはディスクのデータを直接読むことができないので、一度ディスクのデータをメモリにロードしてから読み込んでいます。
Linux のディスクキャッシュが「ページキャッシュ」と呼ばれるのは、キャッシュの単位がページだからです。
ページというのは Linux の仮想メモリの最小単位で、4KBです。
つまり何かしらのデータがメモリに存在するとき、そのメモリ領域をカーネルが扱うときの最小単位です。
ディスクの内容をキャッシュする場合、ファイルを丸ごとキャッシュしたりするのではなくiノード番号とファイルのオフセットをキーにしてページ単位でキャッシュします。
まとめ
この記事では、Linuxにおいて、メモリ情報を確認する方法とページキャッシュについて説明しました。
Good luck with your engineer life!
▼ SSDの購入を検討している人は、この記事を読んで下さい
▼ Linuxの勉強をしたい人は、この記事を読んで下さい
▼ インフラの勉強をしたい人は、この記事を読んで下さい
▼ AWSの勉強をしたい人は、この記事を読んで下さい
▼ インフラエンジニアの需要を知りたい人は、この記事を読んで下さい