一个监测服务器swap并重启php的脚本
浏览:2238次 出处信息
有一台服务器老是交换扇区占满然后失去响应,很烦,因为加载了以前别人写的一个php扩展,效率低,资源占用大,悲剧的是现在还没有可以替换的东西。
折中一下,写个脚本监控swap吧,放在crontab里面,2小时执行一次,世界安静了,再也没有烦人的报警短信了
if /etc/init.d/php5-fpm restart|grep -c fail
这一句中间的命令换成你自己的即可
折中一下,写个脚本监控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
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
建议继续学习:
- Linux服务器性能评估 (阅读:7913)
- Linux 64位, MySQL, Swap & Memory 优化 (阅读:4304)
- 关于Linux系统安装中Swap分区的解释 (阅读:3926)
- linux磁盘管理学习笔记补充:连接ln、虚拟内存 (阅读:2942)
- SWAP的罪与罚 (阅读:2846)
- linux调整swap大小 (阅读:2456)
- Linux Swap -- 创建普通文件作为swap (阅读:2401)
- 服务器中swap 的划分 (阅读:2193)
- 使用vi命令出现Swap file "..." already exists!警告 (阅读:1294)
QQ技术交流群:445447336,欢迎加入!
扫一扫订阅我的微信号:IT技术博客大学习
扫一扫订阅我的微信号:IT技术博客大学习
<< 前一篇:CentOS下通过Webmin管理BIND实现DNS轮询
后一篇:使用HAProxy对MySQL进行负载均衡和状态监控 >>
文章信息
- 作者:废墟 <a@anerg.cn> 来源: 废墟
- 标签: swap
- 发布时间:2011-09-19 23:45:00
建议继续学习
近3天十大热文
- [677] Go Reflect 性能
- [24] 正态分布的前世今生(一)
- [15] Cuckoo Filter:设计与实现
- [15] rsync同步的艺术
- [13] 深入浅出选择类排序算法(简单选择排序,堆排序
- [13] 关于RDS只读实例延迟分析
- [13] Linux Used内存到底哪里去了?
- [12] 什么是DNS劫持和DNS污染?
- [11] Android用户界面设计:表格布局
- [11] vim入门,进阶与折腾