Tomcat OutOfMemory после переключения JVM

У меня есть сервер Tomcat6, работающий на Debian squeeze, на нем работают 4 веб-приложения и сервер ActiveMQ в JVM.

Он работает около года с теми же настройками памяти, что и openjdk-6. Все сработало денди, никаких проблем вообще нет.

Теперь, по разным причинам, мне нужно попробовать Sun JDK.

Итак, я установил Sun JVM со стандартным APT-Get

apt-get установить sun-java6-bin и переключиться с помощью

обновление-java-альтернативы -s java-6-sun

Однако, когда я запускаю Tomcat, я выхожу из памяти, сервер даже не запускается! Если я переключаюсь обратно на openJDK, все снова работает нормально.

У меня раньше не было проблем с памятью на этом сервере, поэтому странно, что сервер внезапно не запустится с JDK от Sun.

Кто-нибудь знает, почему это может произойти? Я что-то пропустил?

Я естественно установил размеры кучи и т. Д. В Tomcat. В настоящее время работает с:

-Xms256m -Xmx1024m

Который, как уже упоминалось, работает в openSDK, вне памяти в Sun-JDK...

РЕДАКТИРОВАТЬ: сервер 64-битный, openJDK и Sun 1.6.0, оба 64-битные JVM.

1 ответ

Решение

Собираюсь ответить на мой собственный вопрос, так как я понял это в конце концов:

Как оказалось, мы установили xmx и xms, однако мы НЕ установили -XX:MaxPermSize.

Это по умолчанию 256 МБ в openJDK, но только 128 МБ в SunJava. Это то, что вызвало это при переключении.

После ввода -XX:MaxPermSize=256 м в catalina.sh все отлично работает в обеих JVM!

Другие вопросы по тегам