서버가 있는데 메모리가 어디로 가는지 설명할 수 없습니다.
top의 출력(%MEM으로 정렬)은 이 서버에 96GB의 RAM이 있음을 보여줍니다.
top - 23:30:54 up 1 day, 21:55, 2 users, load average: 1447.94, 1429.95, 1430.95
Tasks: 403 total, 1 running, 402 sleeping, 0 stopped, 0 zombie
Cpu(s): 8.2%us, 9.5%sy, 0.0%ni, 79.6%id, 1.8%wa, 0.0%hi, 0.9%si, 0.0%st
Mem: 98650976k total, 98025188k used, 625788k free, 419924k buffers
Swap: 4095996k total, 0k used, 4095996k free, 8917188k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
17570 web 20 0 64.7g 46g 27m S 12.1 49.8 68:49.85 java
17162 memcache 20 0 5619m 4.6g 1728 S 0.0 4.9 2:56.36 memcached
16694 root 20 0 2428m 1.6g 6984 S 99.7 1.7 193:50.29 glusterfs
17572 web 20 0 8034m 389m 27m S 0.0 0.4 0:39.24 java
17568 web 20 0 8225m 301m 27m S 0.3 0.3 0:26.64 java
17571 web 20 0 10.9g 253m 27m S 0.0 0.3 0:19.22 java
17569 web 20 0 7965m 252m 27m S 0.0 0.3 0:19.57 java
그러나 vmstat는 ~64GB만 "볼" 수 있습니다.
[root@web-node19 ~]# vmstat -a -S M
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
r b swpd free inact active si so bi bo in cs us sy id wa st
7 0 0 692 10836 54313 0 0 2236 751 13 1 14 15 70 1 0
이것은 meminfo의 전체 출력입니다.
[root@web-node19 ~]# cat /proc/meminfo
MemTotal: 98650976 kB
MemFree: 847812 kB
MemAvailable: 16597476 kB
Buffers: 420016 kB
Cached: 9362772 kB
SwapCached: 0 kB
Active: 55884280 kB
Inactive: 11407444 kB
Active(anon): 55029988 kB
Inactive(anon): 2483792 kB
Active(file): 854292 kB
Inactive(file): 8923652 kB
Unevictable: 14896 kB
Mlocked: 14896 kB
SwapTotal: 4095996 kB
SwapFree: 4095996 kB
Dirty: 41428 kB
Writeback: 416 kB
AnonPages: 57523880 kB
Mapped: 87048 kB
Shmem: 2072 kB
Slab: 10233020 kB
SReclaimable: 6959564 kB
SUnreclaim: 3273456 kB
KernelStack: 51728 kB
PageTables: 148464 kB
NFS_Unstable: 0 kB
Bounce: 0 kB
WritebackTmp: 0 kB
CommitLimit: 53421484 kB
Committed_AS: 34019392 kB
VmallocTotal: 34359738367 kB
VmallocUsed: 0 kB
VmallocChunk: 0 kB
HardwareCorrupted: 0 kB
AnonHugePages: 0 kB
ShmemHugePages: 0 kB
ShmemPmdMapped: 0 kB
HugePages_Total: 0
HugePages_Free: 0
HugePages_Rsvd: 0
HugePages_Surp: 0
Hugepagesize: 2048 kB
DirectMap4k: 128600 kB
DirectMap2M: 3706880 kB
DirectMap1G: 96468992 kB
누구든지 나에게 조언을 줄 수 있습니까? 남은 메모리는 어디에 있나요? :)
감사합니다,
답변1
첫 번째 행에는 vmstat
총계가 아닌 마지막 재시작 이후의 평균 리소스 사용량이 표시됩니다. swapd
시스템에 분명히 디스크 또는 스왑 공간에 가상 메모리가 있는 경우에도 이 열에는 0이 표시됩니다. 단지 그들 중 어느 것도 사용되지 않습니다.
버퍼와 캐시가 표시되지 않기 때문에 96GB가 표시되지 않습니다. 이는 free
.
답변2
vmstat -a
모든 시스템 메모리를 추적하지는 않습니다. 특히 버퍼와 캐시에 사용되는 모든 메모리가 없습니다( 없이 볼 수 있음 -a
).
귀하의 가치는 다음과 일치합니다 /proc/meminfo
.
MemFree: 847812 kB
...
Active: 55884280 kB
Inactive: 11407444 kB
(출력에 따라 약간의 차이가 있습니다.)