PR

Linuxでのメモリ情報確認方法とfreeコマンドの見方

スポンサーリンク
Linux

Linuxサーバーでメモリの情報を取得する際のコマンドを紹介します。

合わせてfreeコマンドの見方についても説明します。

/proc/meminfoを参照する

[root@cent74 ~]# cat /proc/meminfo
MemTotal:       65689956 kB
MemFree:         1293680 kB
MemAvailable:   41664540 kB
Buffers:          173400 kB
Cached:         36228152 kB
SwapCached:        55272 kB
Active:         43102368 kB
Inactive:       15402836 kB
Active(anon):   20574012 kB
Inactive(anon):  1636816 kB
Active(file):   22528356 kB
Inactive(file): 13766020 kB
Unevictable:           0 kB
Mlocked:               0 kB
SwapTotal:      67108860 kB
SwapFree:       66958344 kB
Dirty:                 0 kB
Writeback:             0 kB
AnonPages:      22052076 kB
Mapped:            45524 kB
Shmem:            107176 kB
Slab:            5145472 kB
SReclaimable:    4612420 kB
SUnreclaim:       533052 kB
KernelStack:       13824 kB
PageTables:        51536 kB
NFS_Unstable:          0 kB
Bounce:                0 kB
WritebackTmp:          0 kB
CommitLimit:    99953836 kB
Committed_AS:   20247536 kB
VmallocTotal:   34359738367 kB
VmallocUsed:      459792 kB
VmallocChunk:   34358900732 kB
HardwareCorrupted:     0 kB
AnonHugePages:  17819648 kB
HugePages_Total:       0
HugePages_Free:        0
HugePages_Rsvd:        0
HugePages_Surp:        0
Hugepagesize:       2048 kB
DirectMap4k:      361200 kB
DirectMap2M:    12126208 kB
DirectMap1G:    56623104 kB

代表的な項目の意味は以下の通りです。

MemTotal 物理メモリの総容量(KB)
MemFree 未使用の物理メモリ容量(KB)
Buffers ファイルバッファに使用されているメモリ量(KB)
Cached キャッシュメモリに使用されているメモリ容量(KB)

freeコマンドの見方

わかりやすい様に「-m」オプション(表示をMB単位に変換)を付けた結果です。

[root@cent74 ~]# free -m
              total        used        free      shared  buff/cache   available
Mem:          64150       22313        1261         104       40575       40687
Swap:         65535         146       65389

各項目の説明です。

total メモリ総容量
used メモリ使用量(実際にプロセスで使用されているメモリ量)
free 全く使われていない未割り当てのメモリ量
shared 共有メモリで使用しているメモリ量
buff/cache ファイルバッファ+キャッシュメモリに使われているメモリ量
available プロセスが利用できるメモリサイズ

buff/cache はOSが自動的にメモリを割り当てるので大きなサイズを確保していますが、プロセスがメモリを多く確保した時には、buff/cache のメモリ確保量が小さくなり、プロセス側にメモリが割り当てられます。