我想收集有关单个进程随时间变化的 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