![「perl.exe *32」在 Windows Server 2008 64 位元上由 Apache 2.2 產生時不釋放內存](https://rvso.com/image/504114/%E3%80%8Cperl.exe%20*32%E3%80%8D%E5%9C%A8%20Windows%20Server%202008%2064%20%E4%BD%8D%E5%85%83%E4%B8%8A%E7%94%B1%20Apache%202.2%20%E7%94%A2%E7%94%9F%E6%99%82%E4%B8%8D%E9%87%8B%E6%94%BE%E5%85%A7%E5%AD%98.png)
我們有一個傳統上在 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
在你的設定檔中設定。刪除這些,問題就會消失。