cat /proc/meminfoとすることで、現在のメモリの使用状況を確認できる。
MemTotal: 1001008 kB
MemFree: 200708 kB
Buffers: 43400 kB
Cached: 395740 kB
SwapCached: 0 kB
Active: 557556 kB
Inactive: 178624 kB
HighTotal: 97216 kB
HighFree: 140 kB
LowTotal: 903792 kB
LowFree: 200568 kB
SwapTotal: 2096472 kB
SwapFree: 2096472 kB
Dirty: 224 kB
Writeback: 0 kB
Mapped: 356492 kB
Slab: 47820 kB
CommitLimit: 2596976 kB
Committed_AS: 689048 kB
PageTables: 6192 kB
VmallocTotal: 114680 kB
VmallocUsed: 4560 kB
VmallocChunk: 107264 kB
HugePages_Total: 0
HugePages_Free: 0
Hugepagesize: 2048 kB
★★★:
MemTotal メモリ搭載量
MemFree 空きメモリ量
Buffers Bufferのサイズ
Cached PageCacheのサイズ
SwapCached
PageoutされていたページをPageinして、まだディスクにPageoutした時のデータが残っているページの容量。空きメモリが足りなくなった場合は、Pageoutせずにそのまま解放できるのでI/Oを省略できる。
Active
最近アクセスされたページ。基本的に解放の対象外。
Inactive
最近アクセスのないページ。空きメモリが少なくなるとこのページから解放されていく。
HighTotal
HighMemoryの総容量
HighFree
HighMemoryの空き容量
LowTotal LowMemoryの総容量
LowFree LowMemoryの空き容量
SwapTotal スワップ領域の総容量
SwapFree スワップ領域の空き容量
Dirty Dirtyページのサイズ。ディスクへ書き出す必要がある。
Writeback スワップデバイスに書き出し中のページの容量
Mapped PageTableからマップされているページの容量
Slab スラブアロケータのメモリ使用量
CommitLimit プロセスが確保できるメモリの制限値(*4)
Committed_AS プロセスが割り当てているアドレス空間の総量(物理ページの割り当て量ではない)。malloc()だけしてまだアクセスしていない領域(仮想アドレス空間だけ割り当てられて物理ページが割り当てられていない状態)も含まれる。(VM的に'commit'されいつでも使用できる状態)
PageTables PageTableのメモリ使用量
VmallocTotal vmalloc()により確保するアドレス空間の総容量
VmallocUsed vmalloc()で割り当て済みの容量
VmallocChunk vmalloc用領域のFree領域で最も大きい連続領域のサイズ
★★★
カーネルが内部的に管理している枠組みでのメモリ情報をそのまま出しているので、残念ながらユーザ視点で知りたいメモリ情報とは一致しません。
MemTotal = MemFree + File-backedなメモリ + Anonymousなメモリ + カーネル空間が使うメモリ
★File-backedというのは、ディスクからメモリに読み込んだファイルなど、メモリを開放したくなったら、その内容をディスクに書き戻せば開放できるタイプのメモリです。
Active(file): 51452 kB
Inactive(file): 33560 kB
---------------------------------------------
| Buffers / Cached |
---------------------------------------------
| Active(file) / Inactive(file) | Shmem |
---------------------------------------------
Buffers + Cached = Active(file) + Inactive(file) + Shmem
Active(anon) + Inactive(anon) = Shmem + AnonPages
★Anonymousというのはそれ以外のメモリで、メモリを開放したくなったら、Swap領域に書き出さないと開放できないタイプのメモリ。