En sitios de alto tráfico, es necesario ajustar la cantidad de 'open files'. A mayor cantidad de conexiones, mayor consumo de archivos abiertos.
Por lo general, la definición de los 'open files' se realiza en /etc/security/limits.conf:
- soft nofile 16384
- hard nofile 65000
Verificar la ocurrencia del problema
1. Identificar el PID del proceso TOMCAT con el comando 'ps aux | grep tomcat'. En el siguiente ejemplo es PID 8646root@wp-db:~# ps aux|grep tomcat tomcat6 8646 3.1 18.3 2544488 1506184 ? Sl 06:00 14:02 /usr/lib/jvm/java-6-sun/bin/java -Djava.util.logging.config.file=/var/lib/tomcat6/conf/logging.properties -Djava.awt.headless=true -Xms2048m -Xmx2048m -Duser.language=es -Duser.country=AR -Dfile.encoding=utf-8 -Duser.timezone=GMT-3 -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.endorsed.dirs=/usr/share/tomcat6/endorsed -classpath /usr/share/tomcat6/bin/bootstrap.jar -Dcatalina.base=/var/lib/tomcat6 -Dcatalina.home=/usr/share/tomcat6 -Djava.io.tmpdir=/tmp/tomcat6-tmp org.apache.catalina.startup.Bootstrap start root 13634 0.0 0.0 7624 928 pts/0 S+ 13:31 0:00 grep --color=auto tomcat
2. Mostrar la configuración para ese PID con el comando 'cat /proc/8646/limits. Buscar en el resultado la línea:
Max open files 1024 1024 files3. Comparar el resultado con la definición en el archivo limits.conf. En caso de haber diferencia, TOMCAT6 no está tomando la configuración de 'open files' correctamente.
Definir open files en configuración de Tomcat6 (solución)
Editar el archivo /etc/init.d/tomcat6 y buscar la siguiente línea:JVM_TMP=/tmp/tomcat6-tmp
Luego agregar debajo estas dos líneas:
ulimit -Hn 8192 ulimit -Sn 8192
Aumentar Memoria RAM
Buscamos la siguiente linea en el archivo catalina.sh, dentro de /usr/local/tomcat/bin,
# ----- Execute The Requested Command -----------------------------------------
Luego insertamos lo siguiente donde se asigna memoria 2048 MB
JAVA_OPTS="$JAVA_OPTS -XX:MaxPermSize=768m -Xms512M -Xmx2048M"
Finalmente, reiniciar el Tomcat.
No hay comentarios:
Publicar un comentario