我在Windows上使用Apache 2.2,我可以看到httpd进程的内存稳步增长。我使用FastMM内存管理器来查找内存泄漏,当我找到一些并清除它们时,当FastMM找不到任何东西时,我的httpd内存仍然不断增加,直到它达到~2GB上限和崩溃。
有哪些好的策略/工具可以处理这种情况?
这不是一个网站,也没有涉及PHP。我们有自定义Apache模块(.so),它充当处理SOAP请求的服务器,可以对数据库执行插入,删除,更新和查询。请求来自条形码扫描设备。
非常感谢,
答案 0 :(得分:2)
这是Apache的问题,也适用于Windows版本2.4。简单的解决方法是将http默认conf文件中的MaxRequestsPerChild设置额外设置为200000和1000000之间的数字,在该文件底部的Windows部分中,然后重新启动Apache。内存使用率仍在攀升,但在使用率攀升到足以使服务器崩溃之前,它会自动重置。 HTH。
答案 1 :(得分:0)
我发现设置你的" DirectoryIndex"在httpd.conf中的实际顺序(使用Notepad ++计算文件或只是估计)
在此处找到信息: HTTPD Apache Docs
我有25个index.php文件和161个index.html文件。
从25%CPU和4 Gb内存,现在我主要是0%CPU和10-11 Mb内存。