shell脚本监控CPU脚本-浅夏云
在运维过程中,我们有时需要对CPU进行优化,啥时候优化呢? 自然是出问题的时候,那么啥时候出问题呢? 这个问题就可以使用我们的shell脚本了.
原理: 通过监视一段时间内CPU使用情况,找出长期占用CPU的进程并对其进行优化,提高CPU的效率
我们先来写一个监视CPU并计算一小时内CPU的使用情况的脚本:
#!/bin/bash
SECS=3600
UNIT_TIME=60
STEPS=$(( $SECS / $UNIT_TIME ))
echo Watching CPU usage... ;
for((i=0;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 ' { process[$1] += $2; }' END{ for(i in process) { printf( "%-20s %s\n",i,process[i]); } }' |sort -nrk 2 | head rm /tmp/cpu_usage.$$ 写惯了python,在写shell脚本,就会觉得shell脚本比较晦涩,而python就不一样了,简单,易懂, 之前有知识星球的星球居民问: shell都能用来干嘛,好像学完了还是不知道能写啥. 除了这个脚本外,shell还可以写很多管理脚本这里举例说明几个方向: 其实有时候不用刻意迷信python,很多时候你觉得python好,shell差,实在是你因为我们写shell脚本能力太差. 当然了,有些事情python能做,shell做不了,后面我们会来讨论python的妙处.