此文章为转载http://blog.csdn.net/u010951938/article/details/50813417
ps命令用于收集系统中进程的详细信息。这些信息包括cpu使用情况、正在执行的命令、内存使用、进程状态等。
sh脚本:
[plain] view plain copy#!/bin/bash
SECS=600
UNIT_TIME=10
STEPS=$(( $SECS / $UNIT_TIME))
echo Watching CPU Usage...;
for((i=0;i<STEPS;i++))
do
ps -eo comm,pcpu|tail -n +2 >> /tmp/cpu_usage.$$
sleep $UNIT_TIME
done
echo
echo CPU eaters:
cat /tmp/cpu_usage.$$ | \
awk '
{ prcoess[$1]+=$2;}
END{
for(i in process)
{
printf("%-20s %s",i,process[i];
}
}' | sort -nrk 2 | head -n 4
rm /tmp/cpu_usage.$$
脚本运行的时候会出现下面的错误:
这主要是dash存在导致的问题,我们运行上述命令后,直接选择NO就可以了