![«perl.exe *32» не освобождает память при запуске Apache 2.2 на Windows Server 2008 64bit](https://rvso.com/image/504114/%C2%ABperl.exe%20*32%C2%BB%20%D0%BD%D0%B5%20%D0%BE%D1%81%D0%B2%D0%BE%D0%B1%D0%BE%D0%B6%D0%B4%D0%B0%D0%B5%D1%82%20%D0%BF%D0%B0%D0%BC%D1%8F%D1%82%D1%8C%20%D0%BF%D1%80%D0%B8%20%D0%B7%D0%B0%D0%BF%D1%83%D1%81%D0%BA%D0%B5%20Apache%202.2%20%D0%BD%D0%B0%20Windows%20Server%202008%2064bit.png)
У нас есть веб-приложение, которое традиционно работало на Windows Server 2003 Std. Ed. 32bit в Apache2.2 с perl 5.8. Я пытаюсь перенести его на платформу Windows Server 2008 Std. Ed. 64bit в Apache2.2 с perl 5.10. Оно отлично работало на старой платформе, но теперь у меня проблемы с памятью.
В httpd.conf у меня есть:
ThreadLimit 20 ThreadsPerChild 20 MaxRequestsPerChild 10000
В диспетчере задач Windows в настоящее время 20 экземпляров "perl.exe *32", использующих около 24 000 К памяти каждый. Количество экземпляров увеличивается или уменьшается в зависимости от ограничения потоков, но никогда не опускается ниже лимита. Технически приложение работает, но оно просто очень, очень медленно. Мы используем один и тот же httpd.conf на обеих платформах. Может ли это быть связано с переключением на perl 5.10 или переключением на 64-битную версию Windows, и как это исправить?
решение1
Ты можешь иметь
RequestHeader unset Connection
RequestHeader unset Server
установите в вашем конфигурационном файле. Удалите их, и проблема должна исчезнуть.