如何在终端中实时显示top结果,以便按内存使用情况对列表进行排序?

评论

在Linux上,>和<左右移动排序列。由于%MEM列位于%CPU列(也是默认的排序列)的右侧,因此只需一次按键即可在两者之间进行切换。我知道,您的问题带有macintosh标记,这就是为什么我要将此答案写为评论。

我更喜欢htop,主要是因为它告诉我如何做。

#1 楼

在Linux / Unix中使用top命令:

top



在运行top命令后按shift + m,或者可以交互选择哪一列进行排序


按Shift + f进入交互式菜单
按向上或向下箭头,直到突出显示%MEM选择
按s选择%MEM选择
按Enter保存选择
按q退出交互式菜单



或在命令行上指定排序顺序

# on OS-X
top -o MEM
# other distros
top -o %MEM

参考文献

https://stackoverflow.com/questions/4802481/how-to-see-top-processes-by-actual-memory-用法

评论


在Linux上,它是-o%MEM(请注意“%”)

–加布里埃尔·豪克洛克(Gabriel Hautclocq)
17年9月1日在9:19

@GabrielHautclocq它必须取决于您的Linux发行版以及与之捆绑的软件包。 Debian 7使用procps-ng,而该版本中根本没有-o选项。顶部启动后,SHIFT-M将为我工作。

–克里斯托弗·舒尔茨(Christopher Schultz)
17年9月1日13:59



top -o%MEM适用于我的debian 8和9,但不适用于debian 7,您是正确的@Christopher Schultz。

–加布里埃尔·豪克洛克(Gabriel Hautclocq)
17-9-3 17:16



而不是 enter ,它应该是 q

–破破烂烂
19年7月15日在19:23

“ Press Shift + m”是长句“ M型”。

–布莱恩
8月9日19:47

#2 楼

命令行选项-o(代表“ Override-sort-field”的意思)也可以在我的Xubuntu机器上使用,根据顶部的Mac手册页,它也应该在Macintosh上也可以使用。如果我想通过内存使用来做短,我通常使用

top -o %MEM


,它按%MEM列排序。但是我也可以使用VIRTRESSHR。在Macintosh上,我可能会使用memvsize

我不知道为什么或怎么做,但这在Unix系统之间,甚至在Linux发行版之间都存在很大差异。例如,在运行Wheezy的Raspberry上甚至无法使用-o。也许值得尝试一下。

评论


答案可以使用户更加清楚:%MEM是对急切的读者的答复;虽然它不能在所有地方都有效(到目前为止)。

– 7heo.tk
2015年5月6日15:00



对于Macbook 2014,这是说:top -o%MEM无效参数-o:%MEM

–anon58192932
2015年6月1日17:43

听到这个消息我很抱歉。

–ytg
2015年6月1日于20:03

这是唯一在centos上对我有效的答案。

–阿马尔戈维努斯
16 Mar 8 '16 at 22:40

@ anon58192932,应将%MEM(或PID,VIRT等)替换为仅在运行top时看到的任何列名。如ytg所述,“在Macintosh上,我可能会使用mem或vsize”。

– ebosi
17年3月29日在1:59

#3 楼

对于以

htop -s PERCENT_MEM
开头的Ubuntu 14.04,

是我的窍门。

评论


同样适用于OSX。

–爱媛
16年5月2日在18:16

这是不同的命令。寻找有关top命令(如本问题所述)的答案而不是htop。

–卢卡斯·里西斯(Lukas Liesis)
18-10-28在9:55

#4 楼

看来-o标志将采用实际的列名。因此,如果top命令仅显示“ mem”,则该命令应为“ top -o mem”。

对于我正在测试的ubuntu计算机,该列称为“%MEM”。在我尝试过的OSX Yosemite上,它是“ mem”。

#5 楼

如果top已经在运行,请按o。在数据上方,将出现提示:

primary key [xxxxx]:


其中xxxxx是当前的排序键。键入要作为排序依据的列的名称。如果列名包含“%”或“#”,请省略该字符。对于%CPU,只需键入“ cpu”。

#6 楼

最初的问题似乎是针对Mac,但是对于在此问题上绊脚石的其他任何人,在Red Hat Linux(以及许多其他产品)上,“ top -m”从结果开始按内存使用量排序。

评论


不在Debian 8上

– marcovtwout
17年2月27日在13:45

适用于:Red Hat Enterprise Linux Server 6.8版(其他答案均无效)。

– Contango
17年3月21日在17:18

#7 楼

在Linux上,运行:

$ top


然后按Shift +M。

#8 楼

Ubuntu 14.04-正常工作:

htop --sort-key=PERCENT_MEM


评论


htop不是顶部

–安东
16年8月15日在9:28

#9 楼

如果您使用的是Ubuntu随附的toptop -v = procps-ng version 3.3.10),则可以使用这些交互式键盘快捷键来更改排序。请注意,这些都是大写字母,因此请使用shiftcaps lock

M%MEM N PID P%CPU T TIME +

默认情况下,它们将以DESC排序订购。使用R来切换ASC / DESC。

要从命令行选项设置排序,请使用top -o %MEM。您可以指定任何列。