我搜遍了“我的Linux内存在哪里?” 问题,但我找不到类似的泄漏情况:
这里是RES desc命令的最高输出:
top - 15:57:26 up 3:26, 1 user, load average: 0.27, 0.26, 0.76 Tasks: 192 total, 1 running, 191 sleeping, 0 stopped, 0 zombie Cpu(s): 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Mem: 5993276k total, 2257256k used, 3736020k free, 23772k buffers Swap: 4063224k total, 89644k used, 3973580k free, 98960k cached PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 3236 root 20 0 123m 8384 1520 S 0.0 0.1 0:01.05 Xorg 3373 gdm 20 0 369m 3840 2464 S 0.0 0.1 0:00.69 gdm-simple-gree 3358 gdm 20 0 337m 2916 1940 S 0.0 0.0 0:05.30 gnome-settings- 16380 root 20 0 157m 2708 2192 S 0.0 0.0 0:00.01 su 20174 root 20 0 157m 2704 2192 S 0.0 0.0 0:00.01 su
免费-m:
-/+ buffers/cache: 2083 3769
/ proc / meminfo for slab:
MemTotal: 5993276 kB MemFree: 3722140 kB Slab: 50724 kB
任何暗示,找出什么吃这个演出在这里是赞赏!
有很多人错过了,尤其是在VMware上运行Tomcat和其他基于Java的应用程序时,这个软件对VMware内存分配的影响。
所以第一:
在以下情况下,我经常在Linux虚拟机中看到无法解释的内存问题:
基本上,您需要在主机/集群级别查找争用。
这是一个非常可怕的例子:
vSphere教育 – 使用*太多内存configuration虚拟机有什么缺点?
尝试
grep VmPea /proc/*/status|sort -n -k+2 |tail
如下面链接中的多项式所写
serverfault几乎没有空闲的内存
你没有阅读Serverfault Canonical关于内存使用情况在Linux的权利?
另外你可以通过按H来添加线程(至less对于我在Ubuntu 12.04)
为了更多的debugging:
searchps_mem.py
一个Python内存脚本
有了这个,你可以看到哪个进程实际上使用的RAM(私人/共享)不是100%准确,但我想你的“问题足够好”。
有很多其他的方法来实际检测到一个问题,但我build议首先检查它是否被某些东西实际使用,而不仅仅是缓冲,这是完全正常的。