按降序显示CPU使用率的Top命令

8
我希望能够按照CPU使用率的降序排列。当我执行以下命令时:
top -bn 1 | grep "^ " | awk '{ printf("%-8s  %-8s \n", $2, $9); }' | head -8

它显示的是未使用CPU最高的进程。

这个问题很可能应该迁移到 [linux.se]。 - ElGavilan
4个回答

37

将top作为一个进程运行(我正在使用Ubuntu 14.04)

top

顶部的进程列表

P <- 按CPU使用率排序

M <- 按内存使用率排序

z <- 添加炫酷的视觉颜色

x <- 高亮当前正在排序的列


3
用户希望这个功能在命令行中实现,而不是作为交互式过程。 - chrisaycock
1
尽管最初的问题是关于如何从命令行启动TOP并按CPU降序排序,但我仍然发现这对我的用例很有帮助。 我运行一个RealVNC会话,连接到Ubuntu桌面,在Android平板电脑上启动全屏终端会话。然后我只需键入TOP和P,就有一个单独的显示器为我提供按CPU排序的当前进程。谢谢。 - GJSmith3rd
这对我帮助很大,比我想承认的更频繁。 - bjoster

1
尝试使用 -u 标志运行 top 命令:top -u

1
在您的命令中,您有:
grep "^ "

这会过滤掉不以空格开头的行。

使用此方法,您可以过滤掉PID超过4个字符的进程,因为top命令将PID填充到5个字符。

请改用grep "^[0-9 ]"


1
您可以使用以下内容:
top -o +%CPU

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接