一个监测服务器swap并重启php的脚本
浏览:2316次 出处信息
有一台服务器老是交换扇区占满然后失去响应,很烦,因为加载了以前别人写的一个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服务器性能评估 (阅读:8301)
- Linux 64位, MySQL, Swap & Memory 优化 (阅读:4562)
- 关于Linux系统安装中Swap分区的解释 (阅读:4113)
- linux磁盘管理学习笔记补充:连接ln、虚拟内存 (阅读:3002)
- SWAP的罪与罚 (阅读:2880)
- linux调整swap大小 (阅读:2529)
- Linux Swap -- 创建普通文件作为swap (阅读:2462)
- 服务器中swap 的划分 (阅读:2261)
- 使用vi命令出现Swap file "..." already exists!警告 (阅读:1660)
QQ技术交流群:445447336,欢迎加入!
扫一扫订阅我的微信号:IT技术博客大学习
扫一扫订阅我的微信号:IT技术博客大学习
<< 前一篇:CentOS下通过Webmin管理BIND实现DNS轮询
后一篇:使用HAProxy对MySQL进行负载均衡和状态监控 >>
文章信息
- 作者:废墟 <a@anerg.cn> 来源: 废墟
- 标签: swap
- 发布时间:2011-09-19 23:45:00
建议继续学习
近3天十大热文
- [70] Twitter/微博客的学习摘要
- [65] IOS安全–浅谈关于IOS加固的几种方法
- [65] 如何拿下简短的域名
- [65] find命令的一点注意事项
- [63] Go Reflect 性能
- [63] android 开发入门
- [61] 流程管理与用户研究
- [59] 读书笔记-壹百度:百度十年千倍的29条法则
- [59] Oracle MTS模式下 进程地址与会话信
- [59] 图书馆的世界纪录