留言本-CmdEye技术交流博客
留言本-CmdEye技术交流博客
留言本-CmdEye技术交流博客

宝塔mysql高负载自动重启mysql的shell脚本

图片[1]-宝塔mysql高负载自动重启mysql的shell脚本

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

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

图片[2]-宝塔mysql高负载自动重启mysql的shell脚本

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

图片[3]-宝塔mysql高负载自动重启mysql的shell脚本

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

图片[4]-宝塔mysql高负载自动重启mysql的shell脚本

尝试计划任务添加以下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

查看了一下效果:

图片[5]-宝塔mysql高负载自动重启mysql的shell脚本

负载确实降下来了,朋友们若是遇到此类问题,若是mysql占用的情况较为明显,可以考虑采用此脚本尝试 !!!!
ps:计划任务设置每五分钟执行一次,脚本也是检测的最近五分钟的负载状态

温馨提示:本文最后更新于2021-12-31 12:55:45,某些文章具有时效性,若有错误或已失效,请在下方留言或联系CmdEye
© 版权声明
THE END
喜欢就支持一下吧
点赞12赞赏 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片