如何获取单个进程从启动到结束(存在)所消耗的平均 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