我在一般会在一个服务器搭建多个网站,也有时一个网站会有很高的IP,可是通过宝塔的观察,经常会出现负载100%的情况。
进入宝塔——终端 我们输入TOP观察,多数情况就是mysql占用CPU过高
如果时时刻刻盯着服务器看也不是个事儿,所以我们需要建一个计划任务来处理。
宝塔-计划任务--添加计划任务 shell 脚本
时间我选择的是10分钟
每10分钟,系统自动监控一下CPU,如果CPU过高就自动重启mysql
#+------------------------------------
#+ 宝塔根据负载重启mysql脚本
#+------------------------------------
# $1 = 1min, $2 = 5min, $3 = 15min
loadavg=$(cat /proc/loadavg|awk '{printf "%f", $1}')
maxload=65
if [ $(echo "$loadavg > $maxload"|bc) -eq 1 ]; then
log="重启mysql!"
echo "★ $log 负载$loadavg"
/etc/init.d/mysqld reload
fi
sync
sleep 2
sync
echo 3 > /proc/sys/vm/drop_caches