用于提供对 SVN 的访问的 Apache 2.2 消耗了大量内存

用于提供对 SVN 的访问的 Apache 2.2 消耗了大量内存

我们使用 Apache 2.2 在 Windows 2003 机器上托管 SVN 存储库。

运行良好,但几周后,httpd进程膨胀并开始消耗大约 1.5 GB 的虚拟内存。所有与存储库相关的操作都变得非常缓慢。

需要进行哪些调整才能避免httpd消耗如此多的资源?

答案1

APR 可以慢慢泄漏内存这是因为 APR 池会随着时间的推移对可用 RAM 进行碎片化。如果您可以将 Apache 中每个子进程的最大请求数限制配置得较低,那么任务将更快地重新启动,这应该可以在一定程度上缓解该问题。最大内存可用空间指令可能也有帮助,但请注意邮件列表帖子表明它并不像广告中说的那样工作。

答案2

我使用 VisualSVN Server,这是一个打包的 Apache+SVN 系统,它使用的 RAM 远不及这个数量。我现在的虚拟使用量为 12Mb。

然而 - 当提交时,您会看到内存使用量上升,而当文件被提交时,它会再次下降。

我会检查访问使用情况 - 确保其中没有多余的进程在疯狂运行。使用 sysinternals 站点的 ProcessExplorer 查看其中发生了什么。基本上,SVN+Apache 的高内存使用率不是一个正常问题。

相关内容