Cómo Solucionar el Error 'Too Many Open Files' en Linux de Forma Definitiva

Cómo Solucionar el Error 'Too Many Open Files' en Linux de Forma Definitiva
Anuncio relacionado

¿Qué es el error 'Too Many Open Files' en Linux?

El error Too Many Open Files (Demasiados archivos abiertos) es un problema común en sistemas operativos basados en Unix y Linux. Ocurre cuando un proceso en ejecución, como un servidor web (Nginx, Apache), una base de datos (MySQL, PostgreSQL) o una aplicación de Node.js, intenta abrir más descriptores de archivo de los que el sistema le permite de forma predeterminada.

Causas principales del límite de archivos abiertos

Linux maneja casi todo como un archivo, incluidas las conexiones de red, sockets y los archivos físicos en disco. Las causas más frecuentes de este error son:

  • Un pico masivo de tráfico web que genera demasiadas conexiones simultáneas.
  • Una fuga de recursos (file descriptor leak) en una aplicación mal programada que no cierra las conexiones adecuadamente.
  • Límites predeterminados muy bajos configurados por usuario o proceso en el archivo de límites del sistema (ulimit).

Método 1: Comprobar el límite actual y aumentarlo temporalmente

Para verificar el límite actual de archivos abiertos permitidos para tu usuario actual, ejecuta el siguiente comando en la terminal:

ulimit -n

Si deseas aumentar este límite de forma temporal para la sesión actual de la terminal, puedes utilizar el comando:

ulimit -n 65535

Ten en cuenta que este cambio es efímero y se revertirá al cerrar la sesión o reiniciar el servidor.

Método 2: Aumentar el límite de archivos de forma permanente mediante pam_limits

Para solucionar el problema de manera definitiva, debemos editar la configuración de límites del sistema para los usuarios. Abre el archivo limits.conf utilizando tu editor de texto favorito con privilegios de superusuario:

sudo nano /etc/security/limits.conf

Agrega las siguientes líneas al final del archivo para establecer los nuevos límites (tanto suaves como duros) para todos los usuarios o para un usuario específico (reemplaza tu_usuario por el nombre real o usa un asterisco * para aplicarlo globalmente):

* soft nofile 65535

* hard nofile 65535

Guarda los cambios y cierra el archivo. En algunos sistemas, también es necesario asegurarse de que el módulo PAM cargue estos límites editando el archivo /etc/pam.d/common-session y agregando la línea: session required pam_limits.so.

Método 3: Modificar los límites para servicios específicos con Systemd

Si el error ocurre en un servicio gestionado por Systemd (como Nginx, Docker o un demonio personalizado), modificar limits.conf podría no ser suficiente, ya que Systemd aísla los recursos de los servicios. Para solucionarlo, debes editar la configuración del servicio específico:

sudo systemctl edit nombre-del-servicio

Dentro del editor que se abre, añade las siguientes líneas bajo la sección [Service]:

[Service]

LimitNOFILE=65535

Guarda el archivo, recarga el daemon de Systemd y reinicia el servicio para aplicar los cambios con los siguientes comandos:

sudo systemctl daemon-reload

sudo systemctl restart nombre-del-servicio

Con estos pasos habrás ampliado la capacidad de tu sistema Linux para gestionar una mayor cantidad de conexiones y archivos simultáneos, evitando que vuelva a aparecer el error.

Anuncio
Seguir Leyendo

Guías y Soluciones Relacionadas

Windows Apps Juegos
WordPress

Cómo Solucionar el Error Crítico en WordPress de Forma Definitiva

Descubre cómo identificar el origen del fallo que provoca el aviso de error crítico en tu sitio. Sigue nuestros métodos probados para solucionarlo.

Leer guía completa →
Mac

Cómo Solucionar el Error de 'Disco de Arranque Lleno' en Mac de Forma Definitiva

Tu Mac va lento y aparece constantemente el molesto aviso de almacenamiento agotado. Aprende a limpiar tu disco de forma definitiva y recuperar espacio valioso.

Leer guía completa →
Mac

Cómo Solucionar el Error de 'Imposible verificar la app' en macOS Definitivamente

Descubre por qué macOS bloquea ciertas aplicaciones al intentar abrirlas y aprende los métodos definitivos para saltar la restricción de seguridad de forma segura.

Leer guía completa →