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>

相关推荐

  1. 内存泄露解决

    2024-02-02 15:50:03       19 阅读
  2. python内存泄漏解决

    2024-02-02 15:50:03       13 阅读
  3. Handler 导致的内存泄露的原因及解决方案?

    2024-02-02 15:50:03       23 阅读
  4. ThreadLocal-内存泄露问题

    2024-02-02 15:50:03       19 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-02-02 15:50:03       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-02-02 15:50:03       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-02-02 15:50:03       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-02-02 15:50:03       20 阅读

热门阅读

  1. 如何提高Bito生成函数代码的准确度

    2024-02-02 15:50:03       29 阅读
  2. L1-018 大笨钟分数 10

    2024-02-02 15:50:03       34 阅读
  3. SpringBoot集成Redisson实现限流(二)

    2024-02-02 15:50:03       37 阅读
  4. 读取超大文件的大小(20G),并切分的处理

    2024-02-02 15:50:03       27 阅读
  5. 前端常见面试题②

    2024-02-02 15:50:03       32 阅读
  6. Bat 脚本实现监测程序进而定时关机

    2024-02-02 15:50:03       36 阅读
  7. 手写Spring框架之: HelloSpring

    2024-02-02 15:50:03       34 阅读
  8. Activiti7 整合SpringBoot

    2024-02-02 15:50:03       26 阅读