System Monitor 和 top 报告截然不同的内存使用情况

Bio*_*eek 8 memory system-monitor

最近,在浏览时,我经常发现计算机正在爬行。同时,我注意到接近 90% 的程序消耗的内存/10% 作为缓存的内存消耗,如我面板中的 System Monitor 小程序所示。

试图找出哪个程序使我的计算机变慢,我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
Run Code Online (Sandbox Code Playgroud)

Lek*_*eyn 5

默认情况下,top不按内存使用率排序,而是按 CPU 使用率排序。如果您手动添加所有内容,您可能会错过一些几乎不使用 CPU 的内存占用程序。

要按内存使用情况排序,请按Shift+F然后按n。按任意其他键返回概览。

系统监视器面板计算使用的内存,减去缓冲区和缓存,没有交换。

  • 总内存:2993
  • 正在使用的 RAM(没有缓冲区和缓存缓存):2563
  • 2563 / 2993 = 86%

您的计算机变慢了,因为它开始交换。尝试升级您的 RAM 以获得更好的性能。这笔钱非常值得。