Modificar el límite de archivos abiertos en linux, con el comando ulimit.
Nuestro sistema linux, asigna de forma temporal un número denominado identificador cuando accedemos a un archivo. Por defecto, la memoria principal reserva un espacio para estos identificadores de archivos. La cantidad máxima de archivos abiertos, depende de la memoria que nuestro sistema asigne para tal efecto.
Los procesos en Linux tienen sus restricciones y, estás restricciones impiden ejecutar correctamente los procesos dependiendo de los límites. Debes recordar, que al ejecutar una herramienta, no solo se abre un archivo por aplicación, pueden ser decenas o incluso cientos.
Es evidente que el sistema necesita memoria para administrar cada archivo, y esto nos puede crear un problema de agotamiento de recursos en caso de tener que abrir más archivos de los recomendados, dado que a lo mejor no tienes límites o, estos son excesivamente altos para tu máquina. En este artículo, veremos como modificar el límite de archivos abiertos en nuestra distribución linux.
Límite de archivos abiertos con ulimit
Modificar el límite de archivos abiertos en linux
En linux, tenemos dos tipos de límites definidos: límite estricto (o rígido) y el límite flexible (o suave).
- El límite estricto es un valor establecido estáticamente y, solo puede ser alterado por el usuario root.
- El límite flexible puede ser modificado por procesos de forma dinámica, es decir, en tiempo de ejecución, si el proceso necesita más archivos que el número permitido por el límite flexible actual.
Antes de comenzar, debes tener presente que los límites no es una ciencia exacta. Cada distribución linux los implanta como considera necesario.
Lo primero que hacemos es visualizar los límites establecidos.
Ver el número estricto de archivos
ulimit -Hn
Ejemplo…
sergio@sololinux:~$ ulimit -Hn 1048576
Ver el número flexible de archivos
ulimit -Sn
Ejemplo…
sergio@sololinux:~$ ulimit -Sn 1024
Comando ulimit en linux
Modificar los límites de archivo
Podemos modificar los valores límite de forma simple. Vemos dos opciones, con permanencia y sin ella.
Límites sin permanencia
Modificar los límites sin permanencia (se perderán los cambios al reiniciar el sistema), es un atarea sencilla. Tan solo debes aplicar el número máximo de archivos abiertos, a los comandos que usamos anteriormente para verificar los valores.
Ejemplo.
ulimit -Hn 2000000 ulimit -Sn 3500
Límites con permanencia
Para establecer el límite de forma permanente, debes editar el archivo «/etc/security/limits.conf» con los permisos requeridos. Abrimos «limits.conf».
sudo nano /etc/security/limits.conf
Vemos algo similar a la siguiente imagen.
Archivo limits.conf
Agrega al archivo la siguiente línea (con tu valor numérico requerido).
* hard nofile 2000000
Lo dicho anteriormente es válido para todos los usuarios del sistema, si quieres definir el valor por usuario, copia y pega lo siguiente (con el nombre de usuario).
nombre-de-usuario soft nofile 1200000
Nota final
Algunas distribuciones linux no ponen límites de archivos abiertos. Esto puede ser peligroso en máquinas con pocos recursos, son carne de cañón en trabajos exigentes. Puedes verificar si es tu caso, ejecutando ulimit.
ulimit
Ejemplo de sistema sin límites.
sergio@sololinux:~$ ulimit unlimited
Canales de Telegram: Canal SoloLinux – Canal SoloWordpress
Espero que este artículo te sea de utilidad, puedes ayudarnos a mantener el servidor con una donación (paypal), o también colaborar con el simple gesto de compartir nuestros artículos en tu sitio web, blog, foro o redes sociales. Modificar el limite de archivos abiertos en linux.