Linux宝塔面板mysql高负载,负载100%网站缓慢解决方法,自动重启mysql的shell脚本

 

宝塔服务器面板cpu、负载都是100%,一般来说这种问题的可能性很多,有可能是程序性能、服务器负载能力、并发访问、木马病毒、被植入了挖矿程序等等,但是这四个问题可能引起宝塔面板CPU占满100%,负载100%网站缓慢,下面是四个问题的解决方法。

初步来说首先考虑使用 top 查看一下当前的负载情况,使用SHELL工具连接到命令行操作界面,或通过宝塔面板->文件  点击终端进入命令行操作也可。

进入终端后,输入top查看一下负载情况,如下图:

1.MYSQL 问题, 仔细看发现主要是mysql的占用比较严重,根据负载情况可知,面板的主要负载应该发生在mysql的读写,用户的访问先不考虑,首先考虑mysql的性能问题,根据截图来判断一下。

尝试计划任务添加以下shell脚本自动重启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


查看了一下效果:

负载确实降下来了,朋友们若是遇到此类问题,若是mysql占用的情况较为明显,可以考虑采用此脚本尝试 !!!!

ps:计划任务设置每五分钟执行一次,脚本也是检测的最近五分钟的负载状态

发表评论

后才能评论