微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在 Linux 中找到 X 时间内进程的平均 CPU

如何解决如何在 Linux 中找到 X 时间内进程的平均 CPU

我试图找出如何获得\计算特定进程在 X 时间内的 cpu 利用率(我在基于 Linux 的系统上用 python 编写代码)。 例如我想得到的是一个进程在过去一小时\一天\10分钟内的平均cpu......

是否有我可以运行的命令或计算? *我无法在后台运行像“top”这样的命令 X 时间并计算 cpu,我需要它在一组命令或计算中。

  • 我尝试了对 top 命令的顶级研究,但没有找到对我的案例有用的信息。

  • ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%cpu - 给出进程生命周期的平均消耗

  • 有没有办法使用正常运行时间或 proc[pid]\stat 来计算这个?

谢谢,

解决方法

使用 pidstat 怎么样?

$ pidstat -p 12345 10

将每 10 秒输出 pid 12345 的统计信息。这包括 CPU%

从那里你可以在后台运行它,并将输出重定向到一个文件:

$pidstat -p 12345 10 > my_pid_stats.txt &

这是一个包含几个示例的链接。输出具有很大的灵活性,因此您可以对其进行自定义以更好地满足您的需求:

https://www.thegeekstuff.com/2014/11/pidstat-examples/

pidstat 是 ubuntu 上 sysstat 包的一部分,以防您决定安装它。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。