我想收集有關單一進程的 CPU 使用率隨時間變化的資料。我嘗試將資料集合(例如使用 pidstat)包裝在 while 循環中並休眠一秒,但它不起作用。我也嘗試使用collectl,但我沒有設法找到收集單個進程的資料的選項(我嘗試使用 --procfilter p ,但輸出不可靠。
是否有一個標準(可能是開源)工具可以測量單一進程(使用 PID)隨時間的 CPU 使用率,並且可以將這些資料轉儲到 csv 檔案中?
答案1
這個就可以解決這個問題:
#!/bin/bash 雖然真實;做 pidstat | grep 1117 >>pidload.csv 睡覺 1 完畢
只需將其放入 shell 腳本中即可。在本例中,1117 是您要追蹤的進程 ID。 chmod +x SCRIPTNAME 就可以了。
如果你想要特定的數據,你可以 awk 它,如下所示:
pidstat | 1117 | grep 1117 awk '{ print $3, $8 }' >>pidload.csv