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


8

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

顶部和iotop

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

PS,我知道top也显示内存使用情况,但是我在谈论按顶部内存使用情况进行排序,而不显示任何其他信息(与实际iotop操作类似)。


在顶部按M,它将根据内存使用情况进行排序。那是你所追求的吗?
popey 2012年

我也不太清楚您想要/不想使用哪些功能,但这htoptop我使用的替代方法。尽管听起来好像您正在寻找的是更少但更具体的功能,而不是更多的功能?
adempewolff 2012年

完全是@adempewolff。例如,iotop会执行它所说的-显示我的应用程序的I / O使用情况,仅此而已。我希望能够运行说“ memtop”并仅获取内存使用率%。htop不是我想要的-因为它显示了我已经从中获得的其他信息(包括CPU使用率)top。我的意思是,毫无疑问,我喜欢htop(我以前使用过它),但是在这种情况下,这并不是我想要的。
RolandiXor

Answers:


8

我能找到的最接近的是memtop,Python脚本可以在这里对谷歌代码。

屏幕截图: 在此处输入图片说明

如何使用memtop

  • 这是一个Python脚本,因此只需执行a sudo mv memtop-1.0.0.py /usr/bin/memtop.py和a chmod +x /path/to/memtop.py使其可执行
  • 默认更新时间为15分钟;使用开关-p 1将其设置为1分钟,依此类推(除非您修改了信号源,否则不得低于此值)
  • 使用-l N,其中N是要显示的进程数,具体取决于终端的大小。
  • 使用-m以示“更多”信息,即交换/在截图的底部页的统计信息。

htop伪装为memtop选项

如果您不使用htop其他方式,则可以很容易地使用F2设置选项将其设置为如下所示memtop

在此处输入图片说明

  • htop配置文件存储在其中~/.config/htop/htoprc,因此只需删除htoprc即可恢复正常的htop

该项目刚刚移至GitHub:github.com/MartinThoma/memtop
Martin Thoma

2

我不了解用于实时监控所需内容的任何特定应用程序,但确实找到了一些可能有用的信息。

首先,这里是一个简单的命令,用于打印此信息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]/),并且一些潜在的文件无法人工读取-尽管我怀疑statm并且status具有必要的信息并且都可以人工读取。
  2. 实时显示所有这些信息。我对bash脚本或编程知之甚少,但是要实时显示信息,您将需要使用很多tail命令(例如带有管道的命令)来仅对每个进程排序/打印所需的信息。

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



1

htop很棒。它相当轻巧(不同于gnome-system-monitor。对我来说,系统监视程序通常应该是使用率最高的程序,这对我来说没有任何意义。)

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


2
尽管我喜欢这个答案,但是htop(我以前曾经使用过)我正在寻找一款遵循做一件事情并且做得很好的原则(例如iotop)的应用。
RolandiXor
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.