本文介绍: apache的web服务内存泄漏问题排查以及解决
文章目录
apache web服务内存泄露解决
问题根源
- apache在使用过程中,内存在逐步增长,重启服务后也没有用,经过多方资料排查由于是MaxRequestsPerChild配置引起的,注意apache2.4系列改名叫MaxConnectionsPerChild。
- MaxRequestsPerChild这个指令设定一个独立的子进程将能处理的请求数量。在处理 “MaxRequestsPerChild 数字”个请求之后,子进程将会被父进程终止,这时候子进程占用的内存就会释放,如果再有访问请求,父进程会重新产生子进程进行处理。
如果 MaxRequestsPerChild缺省设为0(无限)或较大的数字(例如10000以上)可以使每个子进程处理更多的请求,不会因为不断终止、启动子进程降低访问效率,但MaxRequestsPerChild设置为0时,如果占用了200~300M内存,即使负载下来时占用的内存也不会减少。
问题解决
- 先查看apache的运行模式
httpd -V
- 进入相应配置文件修改
通过上图可知,apache服务是采用mpm模式运行,并且采用event方式驱动,那么进到**/usr/local/apache/conf/extra**
目录,vim httpd-mpm.conf文件
前提是,在httpd.conf下必须要包含这个配置文件进来
<IfModule mpm_event_module>
StartServers 5
MinSpareThreads 20
MaxSpareThreads 60
ThreadsPerChild 25
MaxRequestWorkers 1500
MaxConnectionsPerChild 80 #0或者数值太大,内存不会释放
</IfModule>
原文地址:https://blog.csdn.net/hjc_042043/article/details/135964936
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_64803.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。