shell腳本案例(三)利用top命令精確監控cpu使用率
阿新 • • 發佈:2018-05-17
cpu 監控 shell linux 自動化
需求:利用top命令精確監控CPU
準備知識:top使用、基本的awk、dc(默認bash shell不支持小數點運算)
腳本如下
[root@arppining scripts]# cat cpu.sh #!/bin/bash - # top -n 參數指定運行次數,1代表運行一次即停止,不再等待top數據更新,使用awk指定分割符,提取數據 cpu_us=`top -n 1 | grep ‘Cpu(s)‘ | awk -F‘[" "%]+‘ ‘{print $2}‘` cpu_sy=`top -n 1 | grep ‘Cpu(s)‘ | awk -F‘[" "%]+‘ ‘{print $4}‘` cpu_idle=`top -n 1 | grep ‘Cpu(s)‘ | awk -F‘[" "%]+‘ ‘{print $8}‘` # 默認bash shell不能直接運算小數點,所以需要借助bc # bc命令是一種支持任意精度的交互執行的計算器語言。 # 常見用法 echo "1.23*5" | bc cpu_sum=$(echo "$cpu_us+$cpu_sy"|bc) echo "CPU_SUM: $cpu_sum%" echo "CPU_Idle: ${cpu_idle}%" #超過閥值即發送郵件 if [ $cpu_sum -ge 90 ];then echo "CPU utilization $cpu_sum" | mail -s "cpu status warning." [email protected] fi [root@arppining scripts]#
運算結果
[root@arppining scripts]# bash cpu.sh
CPU_SUM: 2.2%
CPU_Idle: 96.0%
[root@arppining scripts]#
可以將腳本加入定時任務中
至此結束。
shell腳本案例(三)利用top命令精確監控cpu使用率