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!