Cómo Solucionar el Error 'Too Many Open Files' en Linux Paso a Paso

Cómo Solucionar el Error 'Too Many Open Files' en Linux Paso a Paso
Anuncio relacionado

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

El mensaje Too Many Open Files (Demasiados archivos abiertos) es un error común en sistemas operativos basados en Linux y Unix. Ocurre cuando un proceso o el usuario del sistema intenta abrir más archivos o descriptores de red de los que el núcleo (kernel) le permite simultáneamente. En Linux, prácticamente todo es un archivo, incluidos los sockets de red, tuberías y directorios, por lo que este límite se alcanza fácilmente en servidores de alto tráfico.

Causas principales de los descriptores de archivos agotados

Existen diversas razones por las cuales tu servidor o aplicación puede quedarse sin descriptores de archivos disponibles:

  • Fugas de recursos (resource leaks) en aplicaciones mal optimizadas que abren conexiones y nunca las cierran.
  • Un límite predeterminado del sistema operativo (ulimit) demasiado bajo para aplicaciones pesadas como bases de datos (MySQL, PostgreSQL) o servidores web (Nginx, Apache).
  • Tráfico web masivo que satura las conexiones simultáneas permitidas por proceso.

Método 1: Comprobar el límite actual y los archivos abiertos

Antes de aplicar cualquier solución, debes identificar qué usuario o proceso está sufriendo el bloqueo y cuáles son los límites actuales.

  1. Abre tu terminal SSH con privilegios de administrador.
  2. Ejecuta el siguiente comando para ver el límite actual del usuario en sesión: ulimit -n
  3. Para conocer el límite máximo global permitido por el sistema operativo, utiliza: cat /proc/sys/fs/file-max
  4. Si necesitas identificar qué proceso está consumiendo más descriptores, puedes usar el comando: lsof -n | awk '{print $2}' | sort | uniq -c | sort -nr | head -n 10

Método 2: Aumentar el límite de forma temporal con ulimit

Si necesitas una solución rápida y momentánea para verificar si el error desaparece sin reiniciar el sistema, puedes incrementar el límite mediante la terminal.

  1. Ejecuta el siguiente comando para aumentar el límite de archivos abiertos a 65535 para la sesión actual: ulimit -n 65535
  2. Ten en cuenta que este cambio es efímero y se restablecerá en cuanto cierres la sesión o reinicies el servidor.

Método 3: Solución definitiva modificando limits.conf y sysctl.conf

Para solucionar el problema de manera permanente, es necesario configurar los límites del sistema a nivel de usuario y del kernel de Linux.

  1. Abre el archivo de configuración de límites con tu editor de texto favorito: sudo nano /security/limits.conf o sudo nano /etc/security/limits.conf
  2. Agrega las siguientes líneas al final del archivo para establecer los límites por usuario (reemplaza 'tu_usuario' por el usuario que ejecuta el servicio o usa un asterisco * para todos):
    tu_usuario soft nofile 65535
    tu_usuario hard nofile 65535
  3. Guarda los cambios y sal del editor (en Nano presiona Ctrl + O, Enter y luego Ctrl + X).
  4. Si utilizas un servicio gestionado por systemd (como Nginx o Node.js), también debes editar su archivo de servicio o agregar la directiva LimitNOFILE=65535 en la sección [Service].
  5. Finalmente, reinicia tu servidor o aplica los cambios reiniciando el servicio afectado para disfrutar de un sistema libre de errores.
Anuncio
Seguir Leyendo

Guías y Soluciones Relacionadas

Windows Apps Juegos
Linux

Cómo Solucionar el Error 'Temporary failure in name resolution' en Linux Paso a Paso

¿Problemas de conexión en tu terminal Linux? Descubre cómo corregir el fallo de resolución DNS paso a paso y recuperar tu acceso a internet.

Leer guía completa →
WordPress

Cómo Solucionar el Error al Establecer una Conexión con la Base de Datos en WordPress

Descubre las causas principales del error de conexión a la base de datos en WordPress y aplica nuestros métodos sencillos para solucionarlo. Restaura el acceso a tu sitio web rápidamente.

Leer guía completa →
WordPress

Cómo Solucionar la Pantalla Blanca de la Muerte (WSoD) en WordPress de Forma Definitiva

La Pantalla Blanca de la Muerte en WordPress bloquea por completo tu sitio web y el panel de administración. Aprende a diagnosticarla y solucionarla rápidamente.

Leer guía completa →