Linux 메모리 사용량이 증가하지 않습니다.

Linux 메모리 사용량이 증가하지 않습니다.

서버가 있는데 메모리가 어디로 가는지 설명할 수 없습니다.

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

(출력에 따라 약간의 차이가 있습니다.)

관련 정보