文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>apache运行一段时间后就挂掉,重启恢复,处理... [转]

apache运行一段时间后就挂掉,重启恢复,处理... [转]

时间:2007-12-09  来源:andy04911

apache重启后,网站正常运行一段时间就再打不开了。进度条到38%就不动了。重启apache问题依然。昨天安装更新之前正常。请问该如何解决?谢谢了!

apache   2.0.50
php   4.4.5
mysql   5
winserver2003
       怎么解决,我APACHE2.2.4 运行一段时时间后就不在反应了,当机了,什么都打不开了,然后重启APACHE 就OK了,特是遇到大的特别耗时的程序时,就出现当机!

这个问题是1.APACHE问题
           2.系统问题(我系统XP SP2 GHOST版)
  ================================================================================================   以上是两位朋友遇到的情况,跟我遇到的情况很类似,他们的解决方法:   在httpd.conf   中调整如下   恢复正常   之前为255和0的时候也正常运行   而且现在访问量也不大
<IfModule   mpm_winnt.c >
ThreadsPerChild   1000
MaxRequestsPerChild     10000
Win32DisableAcceptEx
</IfModule >
      ====================   问题解决过程:请求太多

修改APACHE两个参数
  
   ThreadsPerChild 250
   MaxRequestsPerChild  0

ThreadsPerChild:

这个指令设置了每个子进程建立的线程数。子进程在启动时建立这些线程后就不再建立新的线程了。如果使用一个类似于mpm_winnt只有一个子进程的MPM,这个数值要足够大,以便可以处理可能的请求高峰。如果使用一个类似于worker有多个子进程的MPM,每个子进程所拥有的所有线程的总数要足够大,以便可以处理可能的请求高峰。

MaxRequestsPerChild:

这个参数是说,apache进程在处理了多少个请求之后,必须退出,重新开始,以免在处理中的内存问题。
对于php脚本来说,把这个参数设置的小一些是有好处的,可以避免程序使用的内存持续增长对apache带来的压力:让这个参数定期释放内存,因为php是在脚本执行完毕后,自动释放只用的资源(内存)的。
比如设置为50?如果太小的话,重新产生一个apache进程也是要消耗资源的,这是一个平衡问题。


  
   ThreadsPerChild 250
   MaxRequestsPerChild  50
===========================     将MaxRequestsPerChild设置成非零值有两个好处:

···可以防止(偶然的)内存泄漏无限进行,从而耗尽内存。
···给进程一个有限寿命,从而有助于当服务器负载减轻的时候减少活动进程的数量。
 
相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载