исключение из неофициальной памяти с Sun Java на Debian Squeeze, а не OpenJDK - PullRequest
0 голосов
/ 04 декабря 2011

У меня есть сервер Tomcat6, работающий на Debian squeeze.

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

Теперь я подключен к некоторому коду экспорта apache-poi excel и у меня есть некоторые проблемы со шрифтами.

Итак, я подумал, что попробую переключиться на jdk SUN, чтобы посмотреть, не будет ли он другим.

Я установил Sun JVM со стандартным apt-get

apt-get install sun-java6-bin

и переключается с помощью

update-java-alternatives -s java-6-sun

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

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

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

РЕДАКТИРОВАТЬ: чтобы уточнить, я естественно установил размеры кучи и т. Д. В tomcat. В настоящее время работает с:

-Xms256m -Xmx512m

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

Ответы [ 2 ]

1 голос
/ 04 декабря 2011

По крайней мере в тех версиях, которые я использую в своей системе, Open JDK имеет больший размер кучи по умолчанию (256 МБ), чем Sun JVM (128 МБ).Просто установите максимальный размер кучи явно (т.е. -Xmx256m) при запуске Tomcat.

0 голосов
/ 05 декабря 2011

Если речь идет не о куче, попробуйте увеличить размер permgen примерно так: -XX: MaxPermSize = 192m

...