martes, 11 de marzo de 2014

Descriptores de ficheros Linux

Cuando trabajamos con servidores de aplicaciones como apache o bases de datos como Oracle necesitamos aumentar el número de descriptores de fichero de nuestros sistemas. Por defecto en Red Hat tenemos 1024 para cada usuario del sistema y lo recomendado por Oracle para sus bases de datos es 65536. Para comprobar los descriptores de ficheros que tenemos disponibles para un usuario basta con lanzar lo siguiente:

[root@server ~]# ulimit -n
1024

Esto nos indica que para el usuario root tenemos 1024 descriptores de fichero.
Para aumentarlo hasta 65536 basta con comprobar que en el fichero /proc/sys/fs/file-max tenemos configurado como mínimo el número 65536 que hace referencia a los descriptores máximos posibles del sistema.

Una vez verificado esto tenemos que modificar el fichero /etc/security/limits.conf, donde designaremos la cantidad de descriptores de ficheros que puede tener usar cada usuario. Por defecto ese fichero no contiene nada, yo por defecto, teniendo en cuenta que esto es para el usuario root lo completo con lo siguiente (tendremos que cambiar el usuario dependiendo de nuestras necesidades).

*      hard  nofile   65536
*      soft  nofile   65536
root   hard  nofile   65536
root   soft  nofile   65536


Para hacer esto, hay otra manera más rupestre, que es lanzar lo siguiente:
[root@server ~]# ulimit -n 65536
Al realizarlo, el número máximo de descriptores se modifica a 65536 pero solo para la sesión en curso, si queremos que esto sea persistente para un usuario podríamos meter el comando ulimit -n 65536 en el .bashrc de cada usuario pero esto complica mucho la manera estándar de hacerlo y confunde la administración del servidor.

No hay comentarios:

Publicar un comentario