35 votos

Dónde establecer java montón de opciones (por ejemplo,- Xmx) para Tomcat 6 en Ubuntu 9.04?

Estoy Tomcat utilizando el tomcat6 paquete de Ubuntu 9.04, lo que hace que un demonio de Tomcat usando jsvc. Me gustaría saber la forma correcta de configurar Java montón de opciones como por ejemplo -Xmx de Tomcat. Me gustaría poner la configuración de donde es la mayoría de los estilísticamente correcta, y donde es menos probable a ser sobrescrita por Ubuntu el paquete de actualizaciones.

Las opciones que veo ahora:

  • El disco duro de código en algún lugar en /etc/init.d/tomcat6.
  • El disco duro de código en algún lugar en /usr/share/tomcat6/bin/catalina.sh.
  • Crear una línea en /usr/share/tomcat6/bin/startup.sh para establecer CATALINA_OPTS a tener los indicadores y, a continuación, exportar CATALINA_OPTS como una variable de entorno. (Esto parece que se va a obtener recogido por catalina.sh.)

La última opción parece el mejor, y es defendido (sin explicación de por qué) en el Aumento de Java heapspace en Tomcat secuencia de comandos de inicio. Pero yo quería una segunda opinión. Alguien quiere confirmar que no hay una mejor manera?

36voto

andy47 Puntos 542

Al menos en Ubuntu 10.04, /etc/init.d/tomcat6 de fuentes /etc/default/tomcat6, si es que existe. Que es donde tengo que poner mi anula, y creo que en general el "aprobado" manera de hacer tales cambios.

15voto

viper33m Puntos 191

Si nos fijamos en la instalación del directorio bin del verás catalina.sh o .bate de secuencias de comandos. Si nos fijamos en estas verá que se ejecute un setenv.sh o setenv.bate de secuencia de comandos, respectivamente, si es que existe, para establecer variables de entorno. Las variables de entorno correspondientes se describen en los comentarios en la parte superior de catalina.sh/bat. El uso de ellos, por ejemplo, crear un archivo $CATALINA_HOME/bin/setenv.sh con el contenido de la

export JAVA_OPTS="-server -Xmx512m"

Para Windows necesitará, en setenv.murciélago, algo así como

set JAVA_OPTS=-server -Xmx768m

Esta es la verdad de tomcat 5.5 a 7. Original respuesta http://stackoverflow.com/questions/286007/how-to-tune-tomcat-5-5-jvm-memory-settings-without-using-the-configuration-progra

7voto

KCD Puntos 310

Buscar /etc/tomcat6/tomcat6.conf que tiene la talla de JAVA_OPTS listo y esperando por usted para comentar (pero sólo si usted lo tiene a todos, estoy usando Centos no Ubuntu).

# System-wide configuration file for tomcat6 services
# This will be sourced by tomcat6 and any secondary service
# Values will be overridden by service-specific configuration
# files in /etc/sysconfig
#
# Use this one to change default values for all services
# Change the service specific ones to affect only one service
# (see, for instance, /etc/sysconfig/tomcat6)
#
...
#JAVA_OPTS="-Xminf0.1 -Xmaxf0.3"

1voto

Chris Puntos 378

La manera más elegante que he encontrado hasta ahora es editar /etc/init.d/tomcat6 y agregar esta en la parte superior del archivo:

# local config settings
JAVA_OPTS="-Xms5000m -Xmx13000m

Las otras opciones que he comentado en mi pregunta no parecen funcionar. Después de estudiar la secuencia de comandos y experimentar un poco más, ahora dudo que /usr/share/tomcat6/bin/catalina.sh y /usr/share/tomcat6/bin/startup.sh juega ningún papel en tomcat de inicio con el tomcat6 de paquetes de Ubuntu. En su lugar; el /etc/init.d/tomcat6 sustituye por completo a cualquier trabajo que normalmente se realiza por catalina.sh/startup.sh.

Todavía estoy un poco preocupado por perder estas opciones de configuración en alguna futura actualización de paquete, pero supongo que si eso sucede sería bastante fácil de restaurar.

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X