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

Introducción al Error Too Many Open Files en Linux

Uno de los problemas más molestos y comunes al administrar servidores Linux de alto rendimiento, bases de datos o aplicaciones web pesadas (como Nginx, Node.js o MySQL) es encontrarse con el mensaje de error Too many open files. Este fallo interrumpe el funcionamiento de los servicios y deniega el acceso a nuevos usuarios o conexiones. En este artículo te mostraremos exactamente por qué ocurre y cómo solucionarlo paso a paso.

Causas Principales del Problema

En los sistemas operativos basados en Linux, absolutamente todo se gestiona como si fuera un archivo: sockets de red, tuberías (pipes), directorios y archivos físicos. Por defecto, cada usuario y cada proceso tienen un límite estricto en la cantidad de descriptores de archivos (file descriptors) que pueden abrir simultáneamente. Las causas más frecuentes son:

  • Aplicaciones mal optimizadas que abren conexiones a bases de datos o archivos sin cerrarlos adecuadamente (fugas de descriptores).
  • Límites por defecto del sistema operativo demasiado bajos para entornos de producción con tráfico elevado.
  • Servicios systemd que no heredan las configuraciones globales de límites de usuario.

Método 1: Comprobar los Límites Actuales y del Proceso

Antes de aplicar cualquier cambio, es fundamental diagnosticar cuál es el límite actual de tu sistema y qué proceso está consumiendo más recursos.

  1. Abre tu terminal SSH con privilegios de administrador.
  2. Ejecuta el siguiente comando para ver el límite global actual del sistema: ulimit -n
  3. Para identificar qué proceso específico está generando el problema, puedes revisar los registros del sistema con: journalctl -xe o buscar en los logs de tu aplicación web.

Método 2: Aumentar el Límite Temporalmente con Ulimit

Si necesitas una solución rápida para restablecer un servicio caído de inmediato sin reiniciar el servidor, puedes modificar el límite de archivos abiertos para la sesión actual.

  1. Ejecuta el comando en tu terminal especificando el nuevo límite deseado: ulimit -n 65535
  2. Reinicia tu servicio afectado (por ejemplo, Nginx o Apache) desde la misma sesión para que adopte el nuevo valor.

Método 3: Solución Definitiva Modificando limits.conf y Systemd

Para evitar que el problema vuelva a ocurrir después de reiniciar el servidor, debes modificar los archivos de configuración del sistema operativo.

  1. Edita el archivo de límites de seguridad con tu editor favorito: sudo nano /etc/security/limits.conf
  2. Agrega las siguientes líneas al final del archivo para aumentar los límites soft y hard para todos los usuarios (o reemplaza el asterisco por un usuario específico):
    * soft nofile 65535
    * hard nofile 65535
  3. Si utilizas servicios gestionados por Systemd (como MySQL, PHP-FPM o Nginx), estos ignoran a veces el archivo anterior. Debes crear un directorio de configuración para el servicio: sudo mkdir -p /etc/systemd/system/nombre-servicio.service.d/
  4. Crea y edita un archivo de anulación: sudo nano /etc/systemd/system/nombre-servicio.service.d/override.conf
  5. Añade las siguientes líneas dentro del archivo:
    [Service]
    LimitNOFILE=65535
  6. Finalmente, recarga los daemons de systemd y reinicia el servicio afectado: sudo systemctl daemon-reload y sudo systemctl restart nombre-servicio
Anuncio
Seguir Leyendo

Guías y Soluciones Relacionadas

Windows Apps Juegos
Linux

Cómo Solucionar el Error Permission Denied (publickey) en SSH en Linux Paso a Paso

¿No puedes conectarte a tu servidor Linux mediante SSH debido al error de clave pública denegada? Aprende a diagnosticar y solucionar este problema rápidamente.

Leer guía completa →
Desarrollo

Cómo Solucionar el Error SQLSTATE[HY000] [2002] de Conexión en PHP Paso a Paso

Descubre por qué tu aplicación PHP no puede conectar con la base de datos MySQL y cómo solucionarlo rápidamente. Sigue nuestros métodos efectivos paso a paso.

Leer guía completa →
Apps

Cómo Solucionar el Error de Memoria Insuficiente (Out of Memory) en Adobe Photoshop

Aprende a solucionar el molesto error de memoria insuficiente en Adobe Photoshop. Descubre cómo configurar la RAM y la caché para mejorar el rendimiento.

Leer guía completa →