Hola, usuarios avanzados de Mac. Si eres desarrollador frontend/backend, diseñador con grandes proyectos o trabajas en servidores locales (como con homebrew o Docker), probablemente te has encontrado con el temido error:
"Too many open files" (Demasiados archivos abiertos)
Este error no significa que tu disco duro esté lleno. Significa que el sistema operativo de tu Mac ha alcanzado el límite de descriptores de archivos que un solo proceso puede manejar. Por defecto, macOS establece un límite de seguridad relativamente bajo (a menudo $256$ o $1024$), lo cual es insuficiente para entornos de desarrollo modernos o para aplicaciones de diseño profesional con miles de activos.
¡No te preocupes! Tenemos la solución. Usaremos el comando ulimit en la Terminal para liberar todo el potencial de tu Mac.
🛑 Entendiendo el Problema: El ulimit
El comando ulimit (User Limit) controla los límites de recursos de un usuario dentro de un shell (la Terminal). El parámetro que nos interesa es ulimit -n, que muestra el límite de descriptores de archivos abiertos (del inglés, number of open files).
En macOS, existen dos límites:
Límite Blando (
ulimit -Sn): Es el límite actual en vigor. Es el que podemos cambiar fácilmente.Límite Duro (
ulimit -Hn): Es el techo máximo que el sistema operativo permite. Este es más difícil de modificar y requiere permisos de administrador (sudo).
Paso 1: Comprueba tu límite actual
Antes de cambiar nada, veamos cuál es tu límite actual.
Abre la aplicación Terminal (en
Aplicaciones > Utilidades).Ejecuta el siguiente comando para ver el límite blando (el que te afecta directamente):
Bashulimit -n
Lo más probable es que el resultado sea $256$ o $1024$.
✅ La Solución Rápida y Temporal (Por Sesión)
Para solucionar el error de forma inmediata y solo para la sesión de Terminal actual, puedes usar el comando ulimit -n con un valor más alto. Recomendamos un valor de $10240$ (diez mil veinticuatro) como buen punto de partida:
ulimit -n 10240
Nota: El límite duro de macOS suele ser $4096$ o $8192$. Si intentas establecer un límite blando superior a tu límite duro, recibirás un error. Si necesitas un límite aún mayor, tendrás que modificar la configuración del sistema (ver la sección avanzada).
Una vez ejecutado, tu proceso de Terminal y cualquier proceso que inicies desde ella (como tu servidor de desarrollo o build tool) podrán abrir hasta $10240$ archivos. Este cambio se pierde al cerrar la ventana de Terminal.
💾 Solución Permanente para Desarrolladores
Para los profesionales que necesitan este límite alto siempre, el cambio se debe aplicar de forma persistente. Esto se hace modificando el archivo de configuración de tu shell (por ejemplo, ~/.bashrc, ~/.zshrc o ~/.profile).
Si usas la shell por defecto de macOS (Zsh), sigue estos pasos:
Paso 1: Edita tu archivo de configuración
Abre el archivo .zshrc (o el correspondiente a tu shell) con un editor de texto como Nano o Vim:
nano ~/.zshrc
Paso 2: Añade la línea de ulimit
Al final del archivo, añade la línea de comando para establecer el nuevo límite:
# Aumentar el límite de descriptores de archivo para procesos de desarrollo
ulimit -n 10240
Paso 3: Guarda y aplica los cambios
En Nano, presiona
Ctrl + O(Guardar), luegoEnteryCtrl + X(Salir).Para aplicar el cambio sin reiniciar la Terminal, ejecuta:
Bashsource ~/.zshrc
¡Listo! Ahora, cada vez que abras una nueva ventana de Terminal, el límite de archivos abiertos se establecerá automáticamente en $10240$, eliminando el temido error "Too many open files" y permitiendo que tus herramientas trabajen a máxima potencia.
Advertencia: Cambiar límites del sistema siempre conlleva un riesgo. Aunque ulimit -n 10240 es seguro para la mayoría de los usuarios, asegúrate de no establecer valores absurdamente altos ($100000$ o más) sin saber exactamente lo que estás haciendo, ya que podrías inestabilizar el sistema en situaciones extremas.

No hay comentarios:
Publicar un comentario