我们使用 Apache 2.2 在 Windows 2003 机器上托管 SVN 存储库。
工作正常,除了几个星期后该httpd
过程膨胀并开始消耗大约 1.5 GB 的虚拟内存。与存储库的所有操作都变得非常缓慢。
需要调整什么来防止httpd
消耗这么多资源?
我们使用 Apache 2.2 在 Windows 2003 机器上托管 SVN 存储库。
工作正常,除了几个星期后该httpd
过程膨胀并开始消耗大约 1.5 GB 的虚拟内存。与存储库的所有操作都变得非常缓慢。
需要调整什么来防止httpd
消耗这么多资源?
APR 可能会慢慢泄漏内存,因为 APR 池会随着时间的推移对可用 RAM 进行分段。如果您可以在 Apache 中将每个子项的最大请求数限制配置得更低,那么任务将更快地重新启动,这应该可以在一定程度上缓解问题。MaxMemFree指令也可能会有所帮助,但请注意邮件列表帖子表明它不像宣传的那样工作。
我使用 VisualSVN Server,它是一个打包的 Apache+SVN 系统,它不使用接近这个 RAM 量的任何地方。我现在有 12Mb 虚拟使用。
但是 - 提交时您会看到内存使用量上升,提交文件后它应该再次下降。
我会检查访问使用情况 - 确保那里没有额外的进程在疯狂运行。使用来自 sysinternals 站点的 ProcessExplorer 来查看其中发生了什么。基本上,SVN+Apache 的高内存使用不是一个正常的问题。