「perl.exe *32」は、Windows Server 2008 64 ビット上の Apache 2.2 によって起動されたときにメモリを解放しません。

「perl.exe *32」は、Windows Server 2008 64 ビット上の Apache 2.2 によって起動されたときにメモリを解放しません。

従来、Apache2.2 と perl 5.8 の Windows Server 2003 Std. Ed. 32 ビットで実行されていた Web アプリケーションがあります。これを Apache2.2 と perl 5.10 プラットフォームの Windows Server 2008 Std. Ed. 64 ビットに移行しようとしています。古いプラットフォームでは問題なく動作していましたが、現在はメモリの問題が発生しています。

httpd.conf には次の内容があります:

ThreadLimit 20
ThreadsPerChild 20
MaxRequestsPerChild 10000

Windows タスク マネージャーには現在、それぞれ約 24,000K のメモリを使用する「perl.exe *32」のインスタンスが 20 個あります。インスタンスの数はスレッド制限に応じて増減しますが、制限を下回ることはありません。アプリケーションは技術的には起動して実行されていますが、非常に遅いです。両方のプラットフォームで同じ httpd.conf を使用しています。これは、perl 5.10 への切り替え、または 64 ビット バージョンの Windows への切り替えに関係している可能性があります。また、これを修正するにはどうすればよいでしょうか。

答え1

あなたが持っているかもしれません

RequestHeader unset Connection
RequestHeader unset Server

設定ファイルで設定します。これらを削除すると、問題は解決するはずです。

関連情報