「free」の出力が「ps」のプロセスあたりのメモリ使用量の合計と異なるのはなぜですか?

「free」の出力が「ps」のプロセスあたりのメモリ使用量の合計と異なるのはなぜですか?

合計64GBのRAMを備えたRedhatシステムがあります。free出力によると、47GBのRAMを使用しています。

 free -g
             total       used       free     shared    buffers     cached
Mem:            62         59          2          0          3          8
-/+ buffers/cache:         47         15
Swap:            7          0          7

ただし、プロセスの個々のメモリ使用量を合計すると、合計メモリ使用量の値37GB47GB。 2つの間に10GBの違いがある理由を説明できる人はいますか?

私は多くのマニュアルページや記事を読んでみてください。しかし、私のような単純な必死の人にとっては、どちらも役に立ちません。

free使用されているメモリ(私の場合は47 GB)のすべてのビット(意外な意図)を視覚的に出力する方法はありますか?

ps -eo size |  awk '{mem += $1} END {print mem/1024/1024}'
37.2644

ps aux |awk '{rsstotal += $6} END {print rsstotal/1024/1024}'
17.9053

これは /proc/meminfo が示すものです:

cat /proc/meminfo
MemTotal:       65963224 kB
MemFree:         2923708 kB
Buffers:         3716988 kB
Cached:          9134512 kB
SwapCached:        36260 kB
Active:         21634524 kB
Inactive:        9797536 kB
Active(anon):   16855836 kB
Inactive(anon):  1725656 kB
Active(file):    4778688 kB
Inactive(file):  8071880 kB
Unevictable:           0 kB
Mlocked:               0 kB
SwapTotal:       8241144 kB
SwapFree:        8066288 kB
Dirty:              3720 kB
Writeback:             0 kB
AnonPages:      18561916 kB
Mapped:            31756 kB
Shmem:               732 kB
Slab:           14282976 kB
SReclaimable:   13920332 kB
SUnreclaim:       362644 kB
KernelStack:       33944 kB
PageTables:        71732 kB
NFS_Unstable:          0 kB
Bounce:                0 kB
WritebackTmp:          0 kB
CommitLimit:    32834148 kB
Committed_AS:   21413336 kB
VmallocTotal:   34359738367 kB
VmallocUsed:      262076 kB
VmallocChunk:   34359450304 kB
HardwareCorrupted:     0 kB
AnonHugePages:         0 kB
HugePages_Total:    8192
HugePages_Free:     7840
HugePages_Rsvd:       55
HugePages_Surp:        0
Hugepagesize:       2048 kB
DirectMap4k:        8192 kB
DirectMap2M:     2088960 kB
DirectMap1G:    65011712 kB

誰でも助けることができますか?

ベストアンサー1

おすすめ記事