Aumentar el número de descriptores de archivo en estaciones de trabajo Linux

Para obtener el mejor rendimiento del producto, aumente el número de manejadores de archivos por encima de los 1024 manejadores predeterminados.

Acerca de esta tarea

Importante: antes de trabajar con el producto Rational, aumente el número de manejos de archivos. La mayoría de los productos Rational utiliza más del límite predeterminado de 1024 manejos de archivo por proceso. Un administrador del sistema puede tener que realizar este cambio.

Sea prudente al seguir los pasos que se indican a continuación para aumentar los descriptores de archivo en Linux. Si las instrucciones no se siguen correctamente, el sistema puede no iniciarse correctamente.

Procedimiento

Para incrementar los descriptores de archivo:

  1. Inicie sesión como root. Si no dispone de acceso root, deberá obtenerlo antes de continuar.
  2. Vaya al directorio etc.
    Atención: Si decide aumentar el número de descriptores de fichero en el próximo paso, no deje un archivo initscript vacío en el sistema. Si lo hace, el sistema no se iniciará la próxima vez que la encienda o reinicie.
  3. Utilice el editor vi para editar el archivo initscript en el directorio etc. Si este archivo no existe, teclee vi initscript para crearlo.
  4. En la primera línea, escriba ulimit -n 30000. La clave es que 30000 es significativamente más grande que 1024, el valor predeterminado en la mayoría de los sistemas Linux.
    Importante: No establezca el número de descriptores en un valor demasiado alto, ya que podría influir negativamente en el rendimiento de todo el sistema.
  5. En la segunda línea, teclee eval exec "$4".
  6. Guarde y cierre el archivo después de asegurarse de que ha realizado los pasos 4 y 5.
    Nota: Asegúrese de que sigue los pasos correctamente. Si este proceso no se lleva a cabo correctamente, el sistema no se iniciará.
  7. Opcional: Restrinja el número de descriptores disponibles para los usuarios o los grupos de usuarios modificando el archivo limits.conf en el directorio etc/security. Tanto SUSE Linux Enterprise Server (SLES) Versión 9 como Red Hat Enterprise Linux Versión 4.0 tienen este archivo predeterminado. Si no dispone de este archivo, es aconsejable que utilice un número inferior en el paso 4 anterior (por ejemplo, 2048). Deberá hacer esto de modo que la mayoría de los usuarios tengan un límite razonablemente bajo en el número de archivos abiertos permitidos por proceso. Si utiliza un número relativamente bajo en el paso 4, no es tan importante llevar a cabo esta acción. Sin embargo, si ha establecido un número elevado en el paso 4 y no establece límites en el archivo limits.conf, el rendimiento del sistema puede verse reducido significativamente.
    El siguiente archivo limits.conf de ejemplo restringe a todos los usuarios, y establece límites distintos para otros. En este ejemplo se supone que se establecen manejadores en 8192 en el paso 4 anterior.

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

    Tenga en cuenta que * en el ejemplo anterior establecer los límites primero para todos los usuarios. Estos límites son más bajos que los siguientes. El usuario root tiene un número superior de manejadores permitidos abiertos, mientras que el número disponible para user1 se encuentra entre los dos. Asegúrese de que ha leído y comprendido la documentación que contiene el archivo limits.conf antes de llevar a cabo las modificaciones.

Qué hacer a continuación

Para obtener más información sobre el mandato ulimit, consulte la página principal de ulimit en la documentación Linux.

Comentarios