APACHE2.2.4 运行一段时时间后就不在反应了,当机了,什么都打不开了,然后重启APACHE 就OK了,特是遇到大的特别耗时的程序时,就出现当机!
在httpd.conf 中调整如下 恢复正常 之前为255和0的时候也正常运行 而且现在访问量也不大
ThreadsPerChild 1000
MaxRequestsPerChild 10000
Win32DisableAcceptEx
修改APACHE两个参数
ThreadsPerChild 250
MaxRequestsPerChild 0
这个指令设置了每个子进程建立的线程数。子进程在启动时建立这些线程后就不再建立新的线程了。
如果使用一个类似于mpm_winnt只有一个子进程的MPM,这个数值要足够大,以便可以处理可能的请求高峰。如果使用一个类似于worker有多个子进程的MPM,每个子进程所拥有的所有线程的总数要足够大,以便可以处理可能的请求高峰。
这个参数是说,apache进程在处理了多少个请求之后,必须退出,重新开始,以免在处理中的内存问题。
对于php脚本来说,把这个参数设置的小一些是有好处的,可以避免程序使用的内存持续增长对apache带来的压力:让这个参数定期释放内存,因为php是在脚本执行完毕后,自动释放只用的资源(内存)的。
比如设置为50?如果太小的话,重新产生一个apache进程也是要消耗资源的,这是一个平衡问题。
ThreadsPerChild 250
MaxRequestsPerChild 50
将MaxRequestsPerChild设置成非零值有两个好处:
可以防止(偶然的)内存泄漏无限进行,从而耗尽内存。 给进程一个有限寿命,从而有助于当服务器负载减轻的时候减少活动进程的数量。