最近,在浏览网页时,我经常发现电脑运行缓慢。同时,我注意到我的面板上的系统监视器小程序显示内存消耗接近 90% 由程序消耗,10% 由缓存消耗。
为了找出哪个程序正在减慢我的电脑速度,我top
在终端中发出命令,但是在 MEM% 列中添加的数字甚至还不到 20%。
- 造成这种差异的原因是什么?
- 我该如何正确找出哪个程序消耗了过多的内存?
我不知道这是否有用,但作为参考,输出free -m
是:
total used free shared buffers cached
Mem: 2993 2935 57 0 3 369
-/+ buffers/cache: 2563 429
Swap: 5809 1514 4295
答案1
默认情况下,top
不按内存使用量排序,而是按 CPU 使用量排序。如果您手动将所有内容加起来,可能会错过一些几乎不使用 CPU 的占用内存大的程序。
要按内存使用情况排序,请按Shift+ F,然后按n。按任何其他键可返回概览。
系统监视面板计算使用的内存,减去缓冲区和缓存,不包括交换。
- 总内存:2993
- 正在使用的 RAM(不含缓冲区和缓存):2563
2563 / 2993 = 86%
您的计算机因为开始交换而变得缓慢。尝试升级 RAM 以获得更好的性能。这笔钱非常值得。
答案2
我认为 top 会根据 CPU 使用率对进程进行排序,但显然并非所有进程都适合显示在屏幕上。运行“ps aux”以获取所有进程的列表,然后上下滚动查看内存使用情况。另一种方法是使用 htop(从软件中心安装),然后按 f6 进行排序并选择按 MEM% 排序。
答案3
BUMP:我也有同样的问题。另外,出于某种原因,我的内存使用情况没有通过记录gnome-system-monitor
;我得到的是一条直线,而通过面板小程序,我的内存使用率一直保持在 96% 以上。
我找到了最准确的描述,我推测的结果是安装和使用 来识别内存占用htop
。然后我按下F6并选择Mem%
按内存使用情况排序。同样,我的hog
是 的服务nexpose
,我很少使用它,所以我用 将其从启动中删除update-rc.d *