天天看點

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<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還可以寫很多管理腳本這裡舉例說明幾個方向:

   圖像檔案的縮放及格式轉換

   使用shell讀取mysql資料庫

   使用者管理

  檢查磁盤及檔案系統錯誤

 監控使用者登入防範黑客入侵

 搭建防火牆

 寫圖檔加載器及下載下傳工具

  跟蹤網站變動等

     其實有時候不用刻意迷信python,很多時候你覺得python好,shell差,實在是你因為我們寫shell腳本能力太差.

    當然了,有些事情python能做,shell做不了,後面我們會來讨論python的妙處.

shell腳本監控CPU腳本
shell腳本監控CPU腳本