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

(由于输出不同时而有一点变化)。

相关内容