「perl.exe *32」在 Windows Server 2008 64 位元上由 Apache 2.2 產生時不釋放內存

「perl.exe *32」在 Windows Server 2008 64 位元上由 Apache 2.2 產生時不釋放內存

我們有一個傳統上在 Windows Server 2003 Std 上執行的 Web 應用程式。埃德。 Apache2.2 中的 32 位元和 perl 5.8。我正在嘗試將其遷移到 Windows Server 2008 Std。埃德。 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

在你的設定檔中設定。刪除這些,問題就會消失。

相關內容