我手头有一些服务器,这很奇怪.也就是说,他们的RAM使用率非常高,没有明显的原因.好像一个看不见的进程有很多“使用过的”RAM(我的意思是“使用”).
这是一些信息:
>所有服务器都运行SLES 11
>内核是3.0.76
>所有服务器在VMWare ESX基础架构下作为guest虚拟机运行
>我没有设置服务器,在 *** 作系统选择方面没有发言权,也没有访问虚拟化基础架构
>所有服务器都设置相似,它们运行相同的软件集(它是一个集群,是的,我知道,虚拟集群,yada yada,如上所述:我曾经并且没有发言权)
还有一些shell输出:
root@good-server:# free -m total used free shared buffers cachedMem: 15953 14780 1173 0 737 8982-/+ buffers/cache: 5059 10894Swap: 31731 0 31731root@good-server:# python ps_mem.py[... all processes neatly Listed ...]--------------------------------- 4.7 GiB=================================root@bad-server:# free -m total used free shared buffers cachedMem: 15953 15830 123 0 124 1335-/+ buffers/cache: 14370 1583Swap: 31731 15 31716root@bad-server:# python ps_mem.py[... all processes neatly Listed ...]--------------------------------- 4.0 GiB=================================
好服务器的/ proc / meminfo的内容
MemTotal: 16336860 kBMemFree: 112356 kBBuffers: 138384 kBCached: 1145208 kBSwapCached: 1244 kBActive: 4344336 kBInactive: 1028744 kBActive(anon): 3706796 kBInactive(anon): 382724 kBActive(file): 637540 kBInactive(file): 646020 kBUnevictable: 0 kBmlocked: 0 kBSwapTotal: 32493560 kBSwapFree: 32477728 kBDirty: 1248 kBWriteback: 0 kBAnonPages: 4087776 kBMapped: 60132 kBShmem: 156 kBSlab: 274968 kBSReclaimable: 225864 kBSUnreclaim: 49104 kBKernelStack: 4352 kBPagetables: 16400 kBNFS_Unstable: 0 kBBounce: 0 kBWritebackTmp: 0 kBCommitlimit: 40661988 kBCommitted_AS: 6576912 kBVmallocTotal: 34359738367 kBVmallocUsed: 311400 kBVmallocChunk: 34359418748 kBHarDWareCorrupted: 0 kBAnonHugePages: 0 kBHugePages_Total: 0HugePages_Free: 0HugePages_Rsvd: 0HugePages_Surp: 0Hugepagesize: 2048 kBDirectMap4k: 73728 kBDirectMap2M: 16703488 kB
坏服务器的/ proc / meminfo的内容
MemTotal: 16336860 kBMemFree: 1182320 kBBuffers: 756244 kBCached: 8695688 kBSwapCached: 0 kBActive: 13499680 kBInactive: 843208 kBActive(anon): 4853460 kBInactive(anon): 37372 kBActive(file): 8646220 kBInactive(file): 805836 kBUnevictable: 0 kBmlocked: 0 kBSwapTotal: 32493560 kBSwapFree: 32493560 kBDirty: 1268 kBWriteback: 0 kBAnonPages: 4890180 kBMapped: 84672 kBShmem: 252 kBSlab: 586084 kBSReclaimable: 503716 kBSUnreclaim: 82368 kBKernelStack: 5176 kBPagetables: 19684 kBNFS_Unstable: 0 kBBounce: 0 kBWritebackTmp: 0 kBCommitlimit: 40661988 kBCommitted_AS: 6794180 kBVmallocTotal: 34359738367 kBVmallocUsed: 311400 kBVmallocChunk: 34359419468 kBHarDWareCorrupted: 0 kBAnonHugePages: 0 kBHugePages_Total: 0HugePages_Free: 0HugePages_Rsvd: 0HugePages_Surp: 0Hugepagesize: 2048 kBDirectMap4k: 112640 kBDirectMap2M: 16664576 kB
TL; DR – 如果你将它们并排比较,这里是主要区别(BADserver – GOODserver):
MemFree -1070 MBCached -7550 MBActive -9155 MBActive(anon) -1147 MBActive(file) -8009 MBAnonPages - 802 MB
其他差异相当小,并且在人们可能期望的范围内(但你可以亲眼看到)
正如您所看到的,在良好的服务器上,所有进程的所有RES和SHR内存的总和几乎与free -m的“used – / buffers / cache”值的输出一致 – 这正是您所期望的,对吧?
现在看一下坏的服务器:free -m的“used – / buffers / cache”值的输出大约是你预期的3倍,总结ps可以告诉你的一切.
这也符合/ proc / meminfo告诉我的内容.
到目前为止,我不知道这是怎么回事.这可能会发生什么?
解决方法 我认为你可能有一个 VMware memory ballooning issue. vSphere基础设施中的内存过量使用可能性太高.如果不访问vSphere vCenter,您将无法修复此问题,但您应该能够在虚拟机中检测到此情况,假设已安装vmtools:你能否发布vmware-toolBox-cmd统计气球的输出?
此外,您已经分配了16GB的RAM.如果对相关VM有任何手动RAM限制,请询问谁控制基础设施.
总结以上是内存溢出为你收集整理的Linux使用率过高,原因不明全部内容,希望文章能够帮你解决Linux使用率过高,原因不明所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)