如何取得單一進程從啟動到結束(存在)所消耗的平均 CPU 百分比(每秒)?我可以用 Top 來做這個嗎?
答案1
您可以使用該ps
實用程式來執行此操作。
若要查看單一進程的生命週期 CPU 使用百分比,您可以執行下列操作:
ps h -p $PID -o %cpu
若要查看所有正在執行的進程的 CPU 百分比,您可以執行以下操作:
ps ax -o pid,%cpu,comm
答案2
一種方法是編寫一個小的 Bash 腳本:
- 將感興趣的進程/命令名稱作為唯一參數,
$arg1
- 提取該進程的 PID,具有足夠的
ps | grep
或ps | awk
- 將 PID 號保留在
$arg2
- 在第二個上執行一個 cron 作業,並使用基於
ps -eo pcpu,cmd | egrep $arg1 >> logfile-$arg2
- 以進程是否仍存在為條件來終止 cron 作業(只需測試您儲存在中的 PID 號碼
$arg2
) - 當測試 PID 不再出現在輸出時退出
ps