Centos Too many open files
Centos Too many open files.
Este articulo en realidad no hay nada novedoso es más para tenerlo a mano,
pues cada que me toca programar un servidor toca buscar los comando para dejar establecido el sistema para que deje establecido un ambiente de buena disponibilidad de archivos abiertos pues al tener simultáneamente abierto Mysql, Axis2, Postgresq, Tomcat, y una cantidad de archivos que pueden llegar a tener varios millones de registros es bueno asegurarme en no tener dificultades por este concepto, en realidad hay mucha información pero muy dispersa ,un muy buen articulo al respecto a este tema a mi parecer , compacto y preciso lo encontré en este link (http://km.nivaria.com/blog/aumentar-el-numero-maximo-de-ficheros-abiertos-en-linux) , y me ha servidor mucho.
Lo transcribo tal cual
******************************************************************************
En un servidor en producción con bastante carga puede ocurrir errores tipo "Too many open files" o algo parecido. Se debe a que en Linux se pueden establecer limites de ficheros abiertos simultaneamente y ésta limitación es por usuario. Para solucionarlo hay que cambiar la configuración en varios sitios, pero primero hay que comprobar la configuración actual:
******************************************************************
Este articulo en realidad no hay nada novedoso es más para tenerlo a mano,
pues cada que me toca programar un servidor toca buscar los comando para dejar establecido el sistema para que deje establecido un ambiente de buena disponibilidad de archivos abiertos pues al tener simultáneamente abierto Mysql, Axis2, Postgresq, Tomcat, y una cantidad de archivos que pueden llegar a tener varios millones de registros es bueno asegurarme en no tener dificultades por este concepto, en realidad hay mucha información pero muy dispersa ,un muy buen articulo al respecto a este tema a mi parecer , compacto y preciso lo encontré en este link (http://km.nivaria.com/blog/aumentar-el-numero-maximo-de-ficheros-abiertos-en-linux) , y me ha servidor mucho.
Lo transcribo tal cual
******************************************************************************
En un servidor en producción con bastante carga puede ocurrir errores tipo "Too many open files" o algo parecido. Se debe a que en Linux se pueden establecer limites de ficheros abiertos simultaneamente y ésta limitación es por usuario. Para solucionarlo hay que cambiar la configuración en varios sitios, pero primero hay que comprobar la configuración actual:
# ulimit -nesto nos indicará la cantidad máxima por usuario y sesión. El valor por defecto es 1024, lo que no es suficiente para Apache y Tomcat, ya que trabajan con muchos ficheros temporales y los necesita mantener abiertos por cuestiones de rendimiento. Para cambiar este valor:
#ulimit -n 75000Este comando aplicará el cambio en términos de la sesión actual. Para hacerlo persistente tenemos que editar los limites a nivel de configuración del sistema:
# vi /etc/security/limits.conf
root soft nofile 10000El patrón "*" se refiere a todos los usuarios , también se puede definir para cada uno por separado. Una pregunta lógica que surge aqui es ¿Y por qué hay que poner los valores separados para el root? Pues ni idea. Pero, al menos en CentOS 5.4, si no se ponen los parámetros del root por separado - no funciona correctamente. Luego, aparte de limites por usuario y sesión, existen limites a nivel del todo SO. Para ajustarlos hay que hacer lo siguiente:
root hard nofile 30000
* soft nofile 100000
* hard nofile 300000
# vi /etc/sysctl.confGuardar el cambio y
fs.file-max = 100000
# sysctl -pComprobar que la configuración tuvo efecto:
# sysctl fs.file-maxPara asegurarse de que todos los cambios se aplicaron correctamente, recomiendo hacer el logout de la sesión, volver a entrar y ejecutar las comprobaciones de ulimit y sysctl.
******************************************************************
Comentarios
Publicar un comentario