在对服务器进行维护时,有时也遇到由于系统 CPU(利用率)负载 过量导致业务中断的情况。服务器上可能运行多个进程,查看单个进程的 CPU 都是正常的,但是整个系统的 CPU 负载可能是异常的。通过脚本对系统 CPU 负载进行时时监控,可以在异常时及时发送告警,便于维护人员及时处理,预防事故发生。下面的函数可以检测系统 CPU 使用情况 . 使用 vmstat 取 5 次系统 CPU 的 idle 值,取平均值,然后通过与 100 取差得到当前 CPU 的实际占用值。
function GetSysVPU() { CpuIdle=`vmstat 1 5 | sed -n ‘3,$p‘ | awk ‘{x = x + $15} END{print x/5}‘ | awk -F. ‘{print $1}‘` CpuNum=`echo "100 - $CpuIdle" | bc` echo $CpuNum } cpu=$(GetSysVPU) echo "The system CPU is $cpu" if [ $cpu -gt 90 ] then echo "The usage of system cpu is larger than 90%" else echo "The usage of system cpu is normal" fi
时间: 2024-10-10 21:49:30