Windows Server 2008 64비트에서 Apache 2.2가 생성되면 "perl.exe *32"가 메모리를 해제하지 않습니다.

Windows Server 2008 64비트에서 Apache 2.2가 생성되면 "perl.exe *32"가 메모리를 해제하지 않습니다.

우리는 전통적으로 Windows Server 2003 Std에서 실행되었던 웹 애플리케이션을 가지고 있습니다. 에드. Perl 5.8을 사용하는 Apache2.2에서는 32비트입니다. Windows Server 2008 Std로 마이그레이션하려고 합니다. 에드. Perl 5.10 플랫폼을 사용하는 Apache2.2의 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

구성 파일에 설정하십시오. 해당 항목을 제거하면 문제가 해결됩니다.

관련 정보