以 csv 格式导出单个进程的 CPU 使用率

以 csv 格式导出单个进程的 CPU 使用率

我想收集有关单个进程随时间变化的 CPU 利用率的数据。我尝试将数据收集(例如使用 pidstat)包装在带有一秒钟休眠的 while 循环中,但它不起作用。我也尝试使用 collectl,但我没有找到收集单个进程数据的选项(我尝试使用 --procfilter p ,但输出不可靠。

是否有一个标准(可能是开源)工具可以测量单个进程(使用 PID)随时间推移的 CPU 利用率,并将这些数据转储到 csv 文件中?

答案1

这个方法可以解决问题:

/bin/bash #!/bin/bash
while true; 执行
pidstat | grep 1117 >>pidload.csv
睡眠 1
完毕

只需将其放入 shell 脚本中。在这种情况下,1117 是您要跟踪的进程 id。chmod +x SCRIPTNAME 就可以了。

如果您想要特定的数据,您可以通过 awk 来获取,如下所示:

pidstat | grep 1117 | awk'{打印$3,$8}'>>pidload.csv

相关内容