是否有一个应用程序可以以类似的方式显示内存使用情况?

我想在我的终端中运行一个运行应用程序,向我显示内存使用情况,类似于top显示CPU和其他信息, iotop显示顶级I / O用户。

顶部和iotop

这样的应用程序是否存在?

PS我知道top也显示内存使用情况,但我说的是按顶级内存使用排序而不显示任何其他信息(类似于iotopfunction)。

我能找到的最接近的是memtop ,这是一个可以在Google Code上找到的Python脚本。

截图: 在此处输入图像描述

如何使用memtop

  • 这是一个Python脚本,所以只需要做一个sudo mv memtop-1.0.0.py /usr/bin/memtop.py和一个chmod +x /path/to/memtop.py来使它可执行
  • 默认更新周期为15分钟; 使用开关-p 1使其1分钟等(除非你修改源,否则不能低于它)
  • 使用-l N ,其中N是您要显示的进程数,具体取决于终端的大小。
  • 使用-m显示“更多”信息,即屏幕截图底部的交换/页面统计信息。

htop伪装成memtop选项

如果你不使用htop ,那么使用F2-setup选项将其设置为memtop非常容易:

在此处输入图像描述

  • htop config存储在~/.config/htop/htoprc ,所以只需删除htoprc即可恢复正常的htop

我不知道有任何具体的应用程序可以实时监控您的需求,但我确实找到了一些可能有用的信息。

首先是一个打印此信息的简单命令ps -e -orss=,args= | sort -b -k1,1n | pr -TW$COLUMNS ps -e -orss=,args= | sort -b -k1,1n | pr -TW$COLUMNS ps -e -orss=,args= | sort -b -k1,1n | pr -TW$COLUMNS (在这里找到: http : //www.linuxquestions.org/questions/linux-general-1/how-to-show-the-memory-usage-per-process-160181/ )

第二部分是关于脚本执行相同操作的更多信息:

http://unixlive.editboard.com/t4-memory-usage-retrieval-on-linux-process-wise-and-general

http://unixlive.editboard.com/t5-how-much-ram-is-used-per-program

您可以编写自己的脚本/程序以满足您的需求。 您需要的信息全部在/proc/中实时更新,但您必须解决两个问题:

  1. 我怀疑是否有任何一个文件实时列出所有进程及其内存使用情况。 相反,每个进程都有自己的文件(在/proc/[pid]/ ),并且用于查找此信息的一些潜在文件不是人类可读的 – 尽管我怀疑statmstatus具有必要的信息并且都是人类可读的。
  2. 实时显示所有这些信息。 我对bash脚本或编程知之甚少,但为了实时显示信息,你需要使用像管道一样的tail命令来排序/打印每个进程所需的信息。

不是一个完整的答案,但希望这能为您提供一些您可以尝试的想法。 祝好运!

尝试watch memstat -w或者watch free -m

htop很棒。 它相当轻便(与gnome-system-monitor不同。对我而言,系统监控程序通常应该是使用率最高的程序。)

按F6,然后使用箭头键或鼠标切换到MEM%排序。