!["free"의 출력이 "ps"의 프로세스당 메모리 사용량 합계와 다른 이유는 무엇입니까?](https://linux55.com/image/109958/%22free%22%EC%9D%98%20%EC%B6%9C%EB%A0%A5%EC%9D%B4%20%22ps%22%EC%9D%98%20%ED%94%84%EB%A1%9C%EC%84%B8%EC%8A%A4%EB%8B%B9%20%EB%A9%94%EB%AA%A8%EB%A6%AC%20%EC%82%AC%EC%9A%A9%EB%9F%89%20%ED%95%A9%EA%B3%84%EC%99%80%20%EB%8B%A4%EB%A5%B8%20%EC%9D%B4%EC%9C%A0%EB%8A%94%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
총 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
그러나 프로세스의 개별 메모리 사용량을 합산하면 총 메모리 사용량 값 37GB
은 47GB
. 둘 사이에 10GB의 차이가 있는 이유를 설명할 수 있는 사람이 있습니까?
나는 많은 매뉴얼 페이지와 기사를 읽으려고 노력합니다. 그러나 나 같은 단순한 필멸의 사람에게는 그 어느 것도 도움이 되지 않습니다.
free
사용된 메모리(내 경우에는 47GB)의 모든 비트(말장난 의도)를 시각적으로 출력할 수 있는 방법이 있습니까 ?
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
누구든지 도와줄 수 있나요?