计算Linux中程序的CPU使用率

时间:2016-12-12 09:14:30

标签: linux shell

我想计算Linux中给定程序的CPU使用率%。让我们说我想计算oracle使用多少CPU。当我做ps -elf | grep oracle时,我得到了多个过程。如何获得累积结果。

1 个答案:

答案 0 :(得分:1)

您无法执行简单的ps -ef|grep oracle,因为-ef将输出所有进程的完整信息,包括命令路径。如果你有任何包含字符串oracle的路径(在这种情况下),它将被选中,最后,它将使你的计算不正确。

我会使用pgrepps来选择您想要的正确流程,并仅列出CPU使用情况,最后总结一下:

ps -fho' %C' -p $(pgrep -d, oracle )|awk '{s+=($0+0)}END{printf "CPU Usage:%.2f%%",s}'
  • pgrep -d, oracle将列出名称中包含oracle的进程;如果您确定要搜索的进程名称,则可以使用-x进行完全匹配。这将以csv格式输出所有pid,例如123,234

  • ps -fho '%C' -p '123,234'将仅输出给定pid的CPU使用率,不带标题,每行使用百分比

  • 最终的awk脚本会将值相加并打印。输出应该看起来像

    CPU Usage:xx.xx%