博主在阿里云服务器上安装了主机软件Blesta后,阿里云后台频繁提示CPU超载,打开突发性能模式后,发现CPU负载到了100%。如下图所示:
直接在putty里面reboot整个系统后,负载瞬间降为2%。此时如果一直不访问网页的话,负载将维持在3%附近。如果仅是客户买东西,负载也不会高。
#!/bin/sh # Happytang to monitor used CPU record=0 while true; do cpu=$(top -b -n1 | grep "php" | head -1 | awk ‘{print $9}‘) pid=$(top -b -n1 | grep "php" | head -1 | awk ‘{print $1}‘) #cpu check result=${cpu/.*} if [[ $record == $pid ]];then kill -9 $pid;echo "$pid was killed";fi if [[ $result > 70 || $result == 100 ]];then let record=${pid};else let record=0;fi #echo echo `date +%F" "%H:%M:%S`+" cpu:$result% record pid:$record pid:$pid" sleep 60 done
最后,运行下述命令,保证退出putty后脚本继续执行
nohup sh ./checkcpu.sh &
如果需要停止运行这个脚本,则:
ps -ax #查看所有的进程pid kill -9 pid //杀死一个某个pid
本文参考了这篇文章和这篇文章,首发于Happytang’s Blog。
原文:https://www.cnblogs.com/happytang/p/12860025.html