PHP脚本内存泄露导致Apache频繁宕机解决方法
2016-07-10 15:52:44   来源:   评论:0 点击:

这篇文章主要介绍了PHP脚本内存泄露导致Apache频繁宕机解决方法,本文的原因是因为MaxRequestsPerChild参数没有配置正确,配置MaxRequestsPer

这篇文章主要介绍了PHP脚本内存泄露导致Apache频繁宕机解决方法,本文的原因是因为MaxRequestsPerChild参数没有配置正确,配置MaxRequestsPerChild后解决了本文中的问题,需要的朋友可以参考下

在部署一套内网测试环境时,频繁宕机,开机后不断的吃内存,重启apache之后内存占用会不停的上涨,直到swap用完,直到死机,由于是内网环境,服务器并发和压力都很小。

查看apache错误日志,报大量类似错误:

[Tue Feb 14 14:49:28 2012] [warn] child process 7751 still did not exit, sending a SIGTERM

[Tue Feb 14 14:49:30 2012] [error] child process 7603 still did not exit, sending a SIGKILL

[Tue Feb 14 14:49:30 2012] [error] child process 7614 still did not exit, sending a SIGKILL

后查出来是因为php某一些脚本存在内存泄露的代码段。而apache处理这些代码段的进程的处理请求数被设置为无穷。也就是说这些进程只有在apache重启(stop-start模式)或者服务器重启的情况下才会被kill,否则将一直运行下去,直到耗尽系统的最后一点资源(主要是内存)。

相关热词搜索:apache宕机

上一篇:JS打开新窗口的2种方式
下一篇:在Load average 高的情况下如何鉴别系统瓶颈