Tomcat OutOfMemory após alternar a JVM

2

Eu tenho um servidor Tomcat6 rodando no Debian squeeze, existem 4 aplicativos web sendo executados nele e um servidor ActiveMQ dentro da JVM.

Funciona há cerca de um ano com as mesmas memorysettings, com o openjdk-6. Tudo funcionou muito bem, sem problemas.

Agora, por vários motivos, preciso testar o JDK da Sun.

Então, instalei o jvm do sun com o apt-get padrão

apt-get instala o sun-java6-bin e comutado usando

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

No entanto, quando eu inicio o tomcat, eu saio de memória, o servidor nem inicia! Se eu voltar ao openJDK, tudo funciona bem novamente.

Eu não tive nenhum problema de memória neste servidor antes, então é estranho que o servidor não comece de repente com o JDK da Sun.

Alguém tem alguma idéia do porquê isso pode acontecer? Eu perdi alguma coisa?

Eu naturalmente defini tamanhos de heap, etc., no tomcat. Atualmente em execução com:

-Xms256m -Xmx1024m

O que, como mencionado, funciona no openSDK, superado no sun-jdk ...

EDIT: servidor é de 64 bits, openJDK e Sun são 1.6.0, ambos JVMs de 64 bits.

    
por Mathias 10.10.2012 / 00:42

1 resposta

0

vou responder a minha própria pergunta, já que percebi isso no final:

Como se viu, nós definimos o xmx e o xms, no entanto, nós não definimos -XX: MaxPermSize.

Este é por padrão 256mb no openJDK, mas apenas 128mb no SunJava. Foi isso que causou isso ao mudar.

Depois de inserir -XX: MaxPermSize = 256m no catalina.sh tudo funciona bem em ambas as JVMs!

    
por 01.11.2012 / 11:05