如何使用awk和top -b找到10个最耗能的进程

时间:2015-01-16 19:40:55

标签: bash awk

我需要编写一个脚本,使用awk和top -b命令显示10个占用大多数内存的进程。我希望结果显示在两列中 - 第一列是进程名称,第二列是它使用的内存量。我做过一些研究,但我找不到任何对我有用的东西。这是我第一次接触编程,我不知道如何开始。谁能以某种方式帮助我?每个提示都会受到赞赏。

2 个答案:

答案 0 :(得分:2)

您可以使用:

top -ab -n1 | awk 'NR>17{exit} NR>7'

top选项包括:

  • -a - 排序记忆
  • -b - 批处理模式
  • -n1 - 一次迭代后停止

使用awk 'NR>17{exit} NR>7'确保打印8到17之间的行(前7行是top命令的摘要)。

答案 1 :(得分:1)

答案是:

ps aux | sort -nk +4 | tail