lux*_*fer 10 virtualization linux memory vmware-vsphere
在搜索了这个并且只找到了不能正确解释“缓存”数字的人的帖子后,我决定问这个问题。
我手头有一些服务器,它们的行为很奇怪。也就是说,他们的 RAM 使用率非常高,原因不明。似乎一个不可见的进程有很多“使用过的”RAM(我的意思是“使用过的”)。
这是一些信息:
还有一些shell输出:
root@good-server:# free -m
total used free shared buffers cached
Mem: 15953 14780 1173 0 737 8982
-/+ buffers/cache: 5059 10894
Swap: 31731 0 31731
root@good-server:# python ps_mem.py
[... all processes neatly listed ...]
---------------------------------
4.7 GiB
=================================
root@bad-server:# free -m
total used free shared buffers cached
Mem: 15953 15830 123 0 124 1335
-/+ buffers/cache: 14370 1583
Swap: 31731 15 31716
root@bad-server:# python ps_mem.py
[... all processes neatly listed ...]
---------------------------------
4.0 GiB
=================================
Run Code Online (Sandbox Code Playgroud)
好服务器的/proc/meminfo的内容
MemTotal: 16336860 kB
MemFree: 112356 kB
Buffers: 138384 kB
Cached: 1145208 kB
SwapCached: 1244 kB
Active: 4344336 kB
Inactive: 1028744 kB
Active(anon): 3706796 kB
Inactive(anon): 382724 kB
Active(file): 637540 kB
Inactive(file): 646020 kB
Unevictable: 0 kB
Mlocked: 0 kB
SwapTotal: 32493560 kB
SwapFree: 32477728 kB
Dirty: 1248 kB
Writeback: 0 kB
AnonPages: 4087776 kB
Mapped: 60132 kB
Shmem: 156 kB
Slab: 274968 kB
SReclaimable: 225864 kB
SUnreclaim: 49104 kB
KernelStack: 4352 kB
PageTables: 16400 kB
NFS_Unstable: 0 kB
Bounce: 0 kB
WritebackTmp: 0 kB
CommitLimit: 40661988 kB
Committed_AS: 6576912 kB
VmallocTotal: 34359738367 kB
VmallocUsed: 311400 kB
VmallocChunk: 34359418748 kB
HardwareCorrupted: 0 kB
AnonHugePages: 0 kB
HugePages_Total: 0
HugePages_Free: 0
HugePages_Rsvd: 0
HugePages_Surp: 0
Hugepagesize: 2048 kB
DirectMap4k: 73728 kB
DirectMap2M: 16703488 kB
Run Code Online (Sandbox Code Playgroud)
坏服务器的 /proc/meminfo 的内容
MemTotal: 16336860 kB
MemFree: 1182320 kB
Buffers: 756244 kB
Cached: 8695688 kB
SwapCached: 0 kB
Active: 13499680 kB
Inactive: 843208 kB
Active(anon): 4853460 kB
Inactive(anon): 37372 kB
Active(file): 8646220 kB
Inactive(file): 805836 kB
Unevictable: 0 kB
Mlocked: 0 kB
SwapTotal: 32493560 kB
SwapFree: 32493560 kB
Dirty: 1268 kB
Writeback: 0 kB
AnonPages: 4890180 kB
Mapped: 84672 kB
Shmem: 252 kB
Slab: 586084 kB
SReclaimable: 503716 kB
SUnreclaim: 82368 kB
KernelStack: 5176 kB
PageTables: 19684 kB
NFS_Unstable: 0 kB
Bounce: 0 kB
WritebackTmp: 0 kB
CommitLimit: 40661988 kB
Committed_AS: 6794180 kB
VmallocTotal: 34359738367 kB
VmallocUsed: 311400 kB
VmallocChunk: 34359419468 kB
HardwareCorrupted: 0 kB
AnonHugePages: 0 kB
HugePages_Total: 0
HugePages_Free: 0
HugePages_Rsvd: 0
HugePages_Surp: 0
Hugepagesize: 2048 kB
DirectMap4k: 112640 kB
DirectMap2M: 16664576 kB
Run Code Online (Sandbox Code Playgroud)
TL;DR - 如果您并排比较这些,主要区别如下(BADserver - GOODserver):
MemFree -1070 MB
Cached -7550 MB
Active -9155 MB
Active(anon) -1147 MB
Active(file) -8009 MB
AnonPages - 802 MB
Run Code Online (Sandbox Code Playgroud)
其他差异相当小,并且在人们可能期望的范围内(但您可以自己看到)
如您所见,在良好的服务器上,所有进程的所有 RES 和 SHR 内存总量与free -m
'used -/+ buffers/cache' 值的输出非常一致- 这正是您所期望的,对吧?
现在看看坏服务器:free -m
“used -/+ buffers/cache”值的输出大约是您预期的 3 倍,总结一切ps
可以向您展示。
这也符合我/proc/meminfo
所说的。
到目前为止,我不知道这怎么可能。这里可能会发生什么?
eww*_*ite 12
我认为您可能遇到VMware 内存膨胀问题。vSphere 基础架构中的内存过度使用可能过高。如果不访问 vSphere vCenter,您将无法修复此问题,但假设已安装 vmtools,您应该能够从虚拟机中检测到此问题:
你能把输出贴出来vmware-toolbox-cmd stat balloon
吗?
此外,您已获得 16GB 的 RAM。请询问任何人是在基础设施的控制权,如果有问题放置在虚拟机上的任何手动RAM的限制。
归档时间: |
|
查看次数: |
2863 次 |
最近记录: |