系统监视器和 top 报告的内存使用情况大相径庭

系统监视器和 top 报告的内存使用情况大相径庭

最近,在浏览网页时,我经常发现电脑运行缓慢。同时,我注意到我的面板上的系统监视器小程序显示内存消耗接近 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 *

相关内容