Apache 内存暴增解决方法

简介:
前阵子总是发现 httpd 进程的使用内存总量居然达到了上百Mb,有时甚至上Gb,真是夸张。Apache 是架在 Squid 的后面,照理说不应该出现这种情况。通过排查,发现是 Apache 中开启了持续长连接导致。
Apache 进程的内存使用是 "递增/渐进" 式的,也就是在当前进程的 httpd 过程中,内存使用是持续增加的,也就是说在该进程退出之前,内存是持续增加的。主要是由于下面三个参数来控制。
KeepAlive On 设定是否要开启持续长连接,由于前面有 Squid,因此在这里把它打开
MaxKeepAliveRequests 50 在一次持续长连接中,最多允许接收几次请求,如果设置太大的话,很可能导致 httpd
进程持续消耗很多内存,因此可以选择一个适当的值,因为重新创建一个新的进程也是要有一定开销的
KeepAliveTimeout 5 设定一个长连接在没有活动后等待多久自动关闭,可以设置小一点,不过跟上面的类似,如果太小的话,也会导致频繁创建新的进程
现在,调整完上面的参数后,会发现 httpd 进程不再象以前那样狂吃内存了。

本文转自叶金荣51CTO博客,原文链接:http://blog.51cto.com/imysql/310592,如需转载请自行联系原作者
相关文章
|
1月前
|
Java 程序员 C++
深入探讨内存泄漏的原因及解决方法
深入探讨内存泄漏的原因及解决方法
|
11月前
win10桌面窗口管理器进程内存占用大解决方法
win10桌面窗口管理器进程内存占用大解决方法
587 0
|
7月前
|
存储 Linux Apache
Apache IoTDB开发之内存工具
IoTDB中的内存分为三部分:写内存,读内存和保留内存。写内存用于数据写入分配。三者的比例可以在配置文件中设置。
128 0
|
8月前
|
存储 缓存 JavaScript
什么是javascript内存泄漏?以及解决方法
内存泄漏(Memory leak)是在计算机科学中,由于疏忽或错误造成程序未能释放已经不再使用的内存。内存泄漏并非指内存在物理上的消失,而是应用程序分配某段内存后,由于设计错误,导致在释放该段内存之前就失去了对该段内存的控制,从而造成了内存的浪费。 简单理解:无用的内存还在占用,得不到释放和归还,比较严重的时候,无用的内存还会增加,从而导致整个系统卡顿,甚至崩溃
140 0
|
10月前
|
Java Maven
Class org.apache.commons.logging.impl.Jdk14Logger does not implement Log 解决方法
org.apache.commons.logging.LogConfigurationException: Class org.apache.commons.logging.impl.Jdk14Logger does not implement Log at org.apache.commons.logging.impl.LogFactoryImpl.getLogConstructor(LogFactoryImpl.java:400) at org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.jav
174 0
|
11月前
|
消息中间件 监控 Java
Apache Kafka - 生产者内存优化注意事项
Apache Kafka - 生产者内存优化注意事项
143 0
|
11月前
|
存储 Java Apache
Apache ZooKeeper - ZK的内存数据 + 持久化事务日志 + 数据快照 初探
Apache ZooKeeper - ZK的内存数据 + 持久化事务日志 + 数据快照 初探
142 0
|
Ubuntu Shell Apache
ubuntu apt-get卸载软件无法卸载干净的解决方法(ubuntu卸载apache)
ubuntu apt-get卸载软件无法卸载干净的解决方法(ubuntu卸载apache)
479 0
|
存储 Web App开发 监控
JS高程中的垃圾回收机制与常见内存泄露的解决方法
前言 起因是因为想了解闭包的内存泄露机制,然后想起《js高级程序设计》中有关于垃圾回收机制的解析,之前没有很懂,过一年回头再看就懂了,写篇博客与大家分享一下。如果喜欢的话可以点波赞/关注,支持一下。 个人博客了解一下:obkoro1.com 内存的生命周期: 分配你所需要的内存: 由于字符串、对象等没有固定的大小,js程序在每次创建字符串、对象的时候,程序都会分配内存来存储那个实体。 使用分配到的内存做点什么。 不需要时将其释放回归: 在不需要字符串、对象的时候,需要释放其所占用的内存,否则将会消耗完系统中所有可用的内存,造成系统崩溃,这就是垃圾回收机制所存在的意义。
159 0
JS高程中的垃圾回收机制与常见内存泄露的解决方法

推荐镜像

更多