当Centos服务器负载过高时重启php的脚本
时间:2014-12-15 01:30 来源:linux.it.net.cn 作者:IT
服务器中充斥的大量的php-cgi,导致服务器负载过高,一直没定位到具体原因,所以只能暂时通过重启php来降低负载。
脚本可实现当负载超过25是自动重启php,请将下列脚本保存到服务器上,然后设置定时任务,每隔两分钟检查一次。
同样该脚本还适用于比如mysql导致服务器负载过大,重启mysql用。请大家自行修改。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#!/bin/bash
#
# @author lxy.me
# @version 2012-03-01
# @website http://lxy.me
# This Script Run 2min
# */2 * * * * /usr/local/server/checkload.sh >>/usr/local/server/checkload.log
TOP_SYS_LOAD_NUM=25
SYS_LOAD_NUM=`uptime | awk '{print $(NF-2)}' | sed 's/,//'`
echo $(date +"%Y-%m-%d") `uptime`
if [ `echo "$TOP_SYS_LOAD_NUM < $SYS_LOAD_NUM"|bc` -eq 1 ]
then
echo "##" $(date +"%Y-%m-%d %H:%M:%S") "restart php-fpm" `ps -ef | grep php-fpm | wc -l`
kill -SIGUSR2 `cat /usr/local/php5/var/run/php-fpm.pid`
sleep 10
for i in 1 2 3
do
if [ `pgrep php-fpm | wc -l` -le 0 ]
then
/usr/local/php5/sbin/php-fpm -c /usr/local/php5/lib/php.ini
sleep 30
echo "##" $(date +"%Y-%m-%d %H:%M:%S") "start php-fpm" `ps -ef | grep php-fpm | wc -l`
fi
done
else
if [ `pgrep php-fpm | wc -l` -le 0 ]
then
/usr/local/php5/sbin/php-fpm -c /usr/local/php5/lib/php.ini
sleep 30
echo "##" $(date +"%Y-%m-%d %H:%M:%S") "start php-fpm" `ps -ef | grep php-fpm | wc -l`
fi
fi
(责任编辑:IT)
服务器中充斥的大量的php-cgi,导致服务器负载过高,一直没定位到具体原因,所以只能暂时通过重启php来降低负载。 脚本可实现当负载超过25是自动重启php,请将下列脚本保存到服务器上,然后设置定时任务,每隔两分钟检查一次。 同样该脚本还适用于比如mysql导致服务器负载过大,重启mysql用。请大家自行修改。
(责任编辑:IT) |