Shell脚本整理
Posted codepastry
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Shell脚本整理相关的知识,希望对你有一定的参考价值。
监视并计算一小时内CPU使用情况
#!/bin/bash #file name: pcpu_usage.sh #purpose: 计算1小时内进程的CPU占用情况 #SECS为需要进行监视的总秒数 #UNIT_TIME是取样的时间间隔,单位是秒 SECS=3600 UNIT_TIME=60 STEPS=$(( $SECS / $UNIT_TIME )) echo "watching CPU usage..."; for((i=0;i<STEPS;i++)) do ps -eocomm,pcpu | tail -n +2 >> ./cpu_usage.$$ sleep $UNIT_TIME done echo echo CPU eaters: cat ./cpu_usage.$$ | awk ‘ { process[$1]+=$2; } END{ for(i in process) { printf("%-20s %s ",i,process[i]); } }‘ | sort -nrk 2 | head rm ./cpu_usage.$$
- 输入源:ps -eo comm,pcpu。其中comm标识命令名(command name),pcpu表示CPU使用率(CPU usage in percent)。该命令输出所有进程名及CPU使用率;
- 使用sleep 60来表示每次统计的迭代时间为60秒;
- tail -n +2将 ps 输出中头部和COMMAND %CPU去掉;
- cpu_usage.$$中$$表示当前脚本的进程ID;
- 使用awk求出每个进程总的CPU使用情况,用一个关联数组统计CPU使用情况,进程名作为数组索引。
以上是关于Shell脚本整理的主要内容,如果未能解决你的问题,请参考以下文章