一個快速檢測系統CPU負載的小程序
原理說明
在對伺服器進行維護時,有時也遇到由於系統 CPU(利用率)負載過高導致業務中斷的情況。伺服器上可能運行多個進程,查看單個進程的 CPU 都是正常的,但是整個系統的 CPU 負載可能是異常的。通過腳本對系統 CPU 負載進行時時監控,可以在異常時及時發送告警,便於維護人員及時處理,預防事故發生。下面的函數可以檢測系統 CPU 使用情況 。使用 vmstat 取 5 次系統 CPU 的 idle 值,取平均值,然後通過與 100 取差得到當前 CPU 的實際佔用值。
vmstat(VirtualMeomoryStatistics,虛擬內存統計)是Linux中監控內存的常用工具,可對操作系統的虛擬內存、進程、CPU等的整體情況進行監視。該命令可以顯示關於系統各種資源之間相關性能的簡要信息,這裡我主要用它來看CPU的一個負載情況。
[root@host ~]# cat cpuload.sh #!/bin/bash#Author: Jaking#Mail: Jaking1024@163.com#Date:2018/7/11#Function:This script is to get the CPU load. function GetSysCPU { CpuIdle=`vmstat 1 5 |sed -n "3,$p" | awk " END " | awk -F. ""` CpuNum=`echo "100-$CpuIdle" | bc` echo $CpuNum } cpu=`GetSysCPU` echo "The system CPU is $cpu" if [ $cpu -gt 80 ] then { echo "The usage of system CPU is larger than 80%" } else { echo "The usage of system CPU is normal" } fi[root@host ~]# bash cpuload.sh The system CPU is 8 The usage of system CPU is normal
從上面的輸出可見:當前 Linux 伺服器系統 CPU 利用率為 8%,是正常的,沒有超過 80% 的告警限制。
![](https://pic.pimg.tw/zzuyanan/1488615166-1259157397.png)
![](https://pic.pimg.tw/zzuyanan/1482887990-2595557020.jpg)
※IT行業—Linux
※Linux下實現 OpenSSL 簡單加密與解密字元串
TAG:尤沐西子 |