【问题标题】:Calculating CPU usage of a program in Linux在 Linux 中计算程序的 CPU 使用率
【发布时间】:2016-12-12 18:47:29
【问题描述】:

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

【问题讨论】:

    标签: linux shell


    【解决方案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%
      

    【讨论】:

      猜你喜欢
      • 2012-04-27
      • 1970-01-01
      • 1970-01-01
      • 2012-06-13
      • 1970-01-01
      • 2011-07-27
      • 2010-11-19
      • 2010-10-01
      相关资源
      最近更新 更多