您的位置:首页 > 运维架构 > Shell

shell脚本监控CPU脚本

2021-04-12 22:04 1166 查看

   在运维过程中,我们有时需要对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<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 '

{ 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还可以写很多管理脚本这里举例说明几个方向:

  1.    图像文件的缩放及格式转换

  2.    使用shell读取mysql数据库

  3.    用户管理

  4.   检查磁盘及文件系统错误

  5.  监控用户登录防范******

  6.  搭建防火墙

  7.  写图片加载器及下载工具

  8.   跟踪网站变动等

 

     其实有时候不用刻意迷信python,很多时候你觉得python好,shell差,实在是你因为我们写shell脚本能力太差.

    当然了,有些事情python能做,shell做不了,后面我们会来讨论python的妙处.

      

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: