有一台服务器老是交换扇区占满然后失去响应,很烦,因为加载了以前别人写的一个php扩展,效率低,资源占用大,悲剧的是现在还没有可以替换的东西。
折中一下,写个脚本监控swap吧,放在crontab里面,2小时执行一次,世界安静了,再也没有烦人的报警短信了
if /etc/init.d/php5-fpm restart|grep -c fail
这一句中间的命令换成你自己的即可
#!/bin/bash function usage { echo "Usage: $0" echo "e.g. $0 1500" exit } if [ $# -lt 1 ];then usage fi typeset -i nowSwap limitSwap limitSwap=$1 nowSwap=$(free -m|grep "Swap"|sed -e "s/\(.*\)\:\(.*\)/\2/g"|awk '{print $2}') if [ $limitSwap -lt $nowSwap ];then while [ 1 ] do if /etc/init.d/php5-fpm restart|grep -c fail then echo "[$(date +%Y/%m/%d0-%H:%M)]restart php failed" else echo "[$(date +%Y/%m/%d-%H:%M)]restart php successful!" break fi done fi