如何在 Unix 中使用 top 命令仅查看使用 CPU 超过 10% 的进程?

如何在 Unix 中使用 top 命令仅查看使用 CPU 超过 10% 的进程?

我想使用 top,但看不到所有使用微小计算能力的进程。有人能告诉我如何使用 top 查看某个 CPU 百分比截止值以上的进程吗?我尝试使用 vanilla top 按 CPU 使用率对进程进行排序并将其传递给 head,但它不会刷新:top | head -n 15

谢谢!

答案1

在 OS X top(应该与 BSD 类似top)上,您可以运行top -o cpu -n 10以显示按 CPU 使用率排名前 10 个的进程。

答案2

我不明白您要做的事情的意义何在,因为top默认情况下按 CPU% 排序,所以您需要做的就是调整终端窗口的大小,只显示顶级进程。

我的 Debian 上的 GNU top 没有这个选项man top,但你总是可以运行一些复杂的命令,例如:

watch  "top -bn1 | awk '{if(/^[^0-9 ]/){print}else if(\$9 >= 10){print}}' "

这将使用watch每两秒运行一次指定的命令(默认情况下,用更改间隔-n)并gawk以批处理模式解析的输出top,并且仅打印使用至少 10% CPU 的进程。

相关内容