qual JVM é melhor para o Tomcat?

6

Eu tenho o Tomcat 6.0 instalado e funcionando. Fui ajustar os tamanhos da memória e percebi que a tenho em execução na JVM do JDK 1.6 cliente do Sun JDK. Eu não tenho a JVM do servidor Sun instalada:

C:\>java -client -version
java version "1.6.0_16"
Java(TM) SE Runtime Environment (build 1.6.0_16-b01)
Java HotSpot(TM) Client VM (build 14.2-b01, mixed mode, sharing)

C:\>java -server -version
Error: no 'server' JVM at 'C:\appl\java\jre6u16\bin\server\jvm.dll'.

Para esclarecer: eu sei como alternar as JVMs no Tomcat de cliente para servidor. Eu só tenho que escolher a JVM de servidor mais apropriada.

Eu vou notar uma grande diferença entre as JVMs do cliente e do servidor? Se eu quiser a JVM do servidor Sun, preciso reinstalar todo o JDK? Existem outras alternativas de servidor gratuitas que seriam boas para executar o Tomcat?

    
por Jason S 08.10.2009 / 17:01

4 respostas

4

Aqui (a partir das notas de lançamento da Sun ) é a resposta que eu estava procurando, menos sobre como garantir que o servidor JDK esteja ativo e em execução:

jre\bin\server\

On Microsoft Windows platforms, the JDK includes both the Java HotSpotTM Server VM and Java HotSpotTM Client VM. However, the JRE for Microsoft Windows platforms includes only the Java HotSpotTM Client VM. Those wishing to use the Java HotSpotTM Server VM with the JRE may copy the JDK's jre\bin\server folder to a bin\server directory in the JRE. Software vendors may redistribute the Java HotSpotTM Server VM with their redistributions of the JRE.

    
por 08.10.2009 / 20:37
3

Você tentou usar o arquivo setenv.sh em TOMCAT_HOME / bin /? Você precisa criar manualmente esse arquivo (por exemplo, via vi) e, em seguida, adicionar opções Java. Por exemplo:

cd TOMCAT_HOME/bin
vi setenv.sh

adicione a seguinte linha neste arquivo:

export JAVA_OPTS='-server'

Desta forma, sua JVM deve ser executada no modo de servidor.

    
por 08.10.2009 / 17:10
1

Sim , provavelmente você deseja a JVM do servidor. Está sintonizado para o desempenho do lado do servidor. Você não saberá com certeza, a menos que faça um teste de benchmarking, mas ainda não encontrei ninguém dizendo que a VM do cliente funcionou melhor para a configuração do Tomcat.

Tanto quanto você precisa baixar o JDK inteiro ou não - que eu não sei, infelizmente.

    
por 08.10.2009 / 23:45
0

-server e -client são apenas sinalizadores que alteram as características de desempenho da JVM solar normal. Se você não especificar um, a JVM estima. Neste caso, você está supondo que você tem uma máquina de classe cliente, e você só precisa executar java com o sinalizador -server para alterar isso.

Veja: link

    
por 08.10.2009 / 19:48

Tags