在 Windows Server 2008 64 位上由 Apache 2.2 生成时,“perl.exe *32”未释放内存

在 Windows Server 2008 64 位上由 Apache 2.2 生成时,“perl.exe *32”未释放内存

我们有一个 Web 应用程序,传统上在 Windows Server 2003 Std. Ed. 32 位(Apache2.2,perl 5.8)上运行。我正尝试将其迁移到 Windows Server 2008 Std. Ed. 64 位(Apache2.2,perl 5.10)平台。它在旧平台上运行良好,但现在我遇到了内存问题。

在 httpd.conf 中我有:

ThreadLimit 20
ThreadsPerChild 20
MaxRequestsPerChild 10000

在 Windows 任务管理器中,目前有 20 个“perl.exe *32”实例,每个实例使用大约 24,000K 内存。实例数量会随着线程限制而增加或减少,但永远不会低于限制。从技术上讲,该应用程序已启动并运行,但速度非常非常慢。我们在两个平台上使用相同的 httpd.conf。这可能与切换到 perl 5.10 或切换到 64 位版本的 Windows 有关,我该如何纠正它?

答案1

你可能有

RequestHeader unset Connection
RequestHeader unset Server

在您的配置文件中设置。删除这些,问题就会消失。

相关内容