Aumentar el número de descriptores de contexto de archivo en sistemas Linux

Para obtener el mejor rendimiento del sistema, aumente el número de descriptores de archivo por encima de 1024, que es el valor predeterminado.

Antes de empezar

Importante: Antes de utilizar el producto, aumente el número de descriptores de archivo. La mayoría de los productos utilizan en cada proceso un número de descriptores de archivo que es mayor que el límite predeterminado de 1024. El administrador del sistema puede necesitar hacer este cambio.

Acerca de esta tarea

Asegúrese de ejecutar correctamente los pasos siguientes. Si este procedimiento no se completa correctamente, el sistema no se iniciará.

Para aumentar el número de descriptores de contexto de archivo en un sistema Linux®, complete los siguientes pasos:

Procedimiento

  1. Inicie la sesión como root. Si no tiene acceso de usuario root, necesita obtenerlo antes de continuar.
  2. Cambie al directorio etc.
    Atención: si decide aumentar el número de descriptores de archivo en el paso siguiente, no deje un archivo initscript vacío en el sistema. Si lo hace, el sistema no arrancará la próxima vez que lo rearranque.
  3. Utilice el editor vi para editar el archivo initscript del directorio etc. Si este archivo no existe, escriba vi initscript para crearlo.
  4. En la primera línea, escriba ulimit -n 4096. El punto es que 4096 es significativamente más grande que 1024, el valor predeterminado en la mayoría de sistemas Linux.
    Importante: No establezca un número demasiado alto de descriptores, pues ello puede afectar negativamente al rendimiento del sistema.
  5. En la segunda línea, escriba eval exec "$4".
  6. Guarde y cierre el archivo después de comprobar que ha efectuado los pasos 4 y 5.
  7. Opcional: Modifique el archivo limits.conf del directorio etc/security para restringir el número de descriptores que pueden ser utilizados por los usuarios o grupos. Tanto SUSE Linux Enterprise Server (SLES) Versión 9 como Red Hat Enterprise Linux Versión 4.0 tienen este archivo predeterminado. Si no tiene este archivo, puede utilizar un valor menor en el paso 4 del procedimiento anterior (por ejemplo, 2048). Haga esto para que la mayoría de los usuarios tengan un límite razonablemente bajo respecto al número de archivos que pueden estar abiertos en cada proceso. Si utiliza un valor relativamente bajo en el paso 4, este paso es menos importante. Pero si establece un valor alto en el paso 4 anterior y no establece límites en el archivo limits.conf, el rendimiento del sistema puede disminuir significativamente.
    El siguiente archivo limits.conf de ejemplo restringe a todos los usuarios, y luego establece límites diferentes para otros usuarios. Para los efectos de este ejemplo, se supone que el número de descriptores se ha establecido en 8192 en el paso 4.

    *      soft nofile 1024
    *      hard nofile 2048
    root    soft nofile 4096
    root    hard nofile 8192
    user1   soft nofile 2048
    user1 hard nofile 2048

    Observe que el asterisco * en el ejemplo anterior establece primero límites para todos los usuarios. Estos límites son menores que los límites que siguen a continuación. El usuario root tiene un número mayor de descriptores abiertos permitidos, mientras que el número disponible para user1 es un valor intermedio. Es necesario que lea y comprenda la documentación contenida en el archivo limits.conf antes de hacer cambios.

Comentarios