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

El error Too Many Open Files (Demasiados archivos abiertos) es un problema común en sistemas operativos basados en Linux, especialmente en servidores web, bases de datos o entornos de desarrollo que manejan una alta concurrencia. Linux trata prácticamente todo como un archivo, incluidos sockets de red, tuberías y directorios. Cuando un proceso o usuario alcanza el límite máximo de descriptores de archivos permitidos, el sistema bloquea nuevas aperturas, generando fallos críticos en las aplicaciones.

Causas Principales del Error

Las razones más frecuentes por las cuales tu sistema Linux lanza este error son las siguientes:

  • Una fuga de recursos (resource leak) en una aplicación que abre conexiones o archivos y nunca los cierra correctamente.
  • Límites por defecto demasiado estrictos configurados en el sistema operativo para usuarios específicos o servicios del sistema.
  • Un volumen de tráfico o tareas concurrentes muy superior al esperado, superando la capacidad asignada por defecto.

Método 1: Comprobar el límite actual y los procesos afectados

Antes de aplicar cualquier cambio, es fundamental diagnosticar qué usuario o proceso está consumiendo los descriptores de archivos.

  1. Abre tu terminal de Linux.
  2. Ejecuta el siguiente comando para ver el límite actual de archivos abiertos para tu usuario actual:
    ulimit -n
  3. Para identificar qué proceso está abriendo más archivos, puedes usar el comando lsof filtrando por PID:
    lsof -u nombre_de_usuario | awk '{print $2}' | sort | uniq -c | sort -nr

Método 2: Aumentar temporalmente el límite con ulimit

Si necesitas una solución rápida para una sesión activa de terminal sin reiniciar el servidor:

  1. Ejecuta el comando ulimit especificando un nuevo valor más alto, por ejemplo, 65535:
    ulimit -n 65535
  2. Verifica que el cambio se haya aplicado correctamente volviendo a consultar:
    ulimit -n

Nota: Este cambio es temporal y solo afectará a la sesión actual de la terminal. Si cierras la sesión, los valores volverán a la normalidad.

Método 3: Configurar límites permanentes en el archivo limits.conf

Para solucionar el problema de forma definitiva a nivel de sistema operativo para usuarios o servicios específicos:

  1. Abre el archivo de configuración de límites con permisos de superusuario:
    sudo nano /etc/security/limits.conf
  2. Agrega las siguientes líneas al final del archivo para aumentar los límites (tanto suave como duro) para tu usuario (reemplaza tu_usuario por el nombre real):
    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. Reinicia la sesión o el servicio afectado para que los nuevos límites entren en vigor.
Anuncio
Seguir Leyendo

Guías y Soluciones Relacionadas

Windows Apps Juegos
Windows

Cómo Solucionar el Error DNS_PROBE_FINISHED_NXDOMAIN en Windows de Forma Definitiva

¿Tu navegador muestra que el sitio no se puede alcanzar con el error DNS_PROBE_FINISHED_NXDOMAIN? Sigue esta guía para solucionarlo en minutos.

Leer guía completa →
Windows

Cómo Solucionar el Error DNS_PROBE_FINISHED_NXDOMAIN en Windows de Forma Definitiva

¿No puedes navegar por internet y aparece el mensaje DNS_PROBE_FINISHED_NXDOMAIN? Aprende a solucionarlo en pocos minutos con este tutorial definitivo para Windows.

Leer guía completa →
Windows

Cómo Solucionar la Pantalla Negra con Cursor en Windows de Forma Definitiva

¿Inicias sesión en tu ordenador y solo ves una pantalla negra con el cursor del ratón? Aprende a identificar el problema y solucionarlo rápidamente.

Leer guía completa →