我们使用Apache 2.2在Windows 2003计算机上托pipeSVN存储库。
除了几个星期之后, httpd进程膨胀并开始消耗1.5千兆字节的虚拟内存。 存储库的所有操作变得非常缓慢。
什么来调整,以防止httpd消耗这么多的资源?
APR可能会缓慢地泄漏内存,因为APR池随着时间的推移将可用RAM碎片化。 如果您可以在Apache中configuration每个子对象的最大请求数限制,那么这些任务将会更快地重新启动,从而在一定程度上缓解问题。 MaxMemFree指令也可能是有帮助的,但是要警告的是,邮件列表文章暗示它不能像宣传的那样工作。
我使用的VisualSVN服务器,这是一个打包的Apache + SVN系统,并没有使用任何地方靠近这个数量的内存。 我现在有12Mb的虚拟使用权。
但是 – 提交时你会看到内存使用量增加,当文件已经提交时,它应该再次下降。
我会检查访问使用 – 确保没有额外的进程在那里狂奔。 使用sysinternals网站上的ProcessExplorer来查看里面发生了什么。 基本上,SVN + Apache的高内存使用不是一个正常的问题。