Si tiene un solo programa que está alcanzando un ulimit
(un límite suave en la cantidad de archivos que puede abrir un solo proceso), ulimit
está bien ajustarlo a un número mayor, especialmente si solo puede poner el ulimit
comando en su .bash_profile
. Más allá de eso, aconsejo fuertemente en contra de archivos de edición como /etc/launchd.conf
o /etc/sysctl.conf
o añadir archivos plist bajo /Library/LaunchDaemons/
por varias razones.
Los cambios en esos archivos persisten en las copias de seguridad y se transfieren a las nuevas versiones de macOS y las nuevas computadoras cuando se actualiza.
Si esos cambios causan problemas (lo cual es una posibilidad real), debe recordar que realizó los cambios y cuáles son los cambios, y luego vuelva a editar los archivos para deshacerlos. Esto puede suceder años después.
Después de algunos años de actualización, es posible que lo que solía ser un aumento en un límite ahora sea una disminución en un límite. Pero probablemente no lo sabrá porque (a) no recordará que realizó el cambio y (b) no podrá ver los nuevos límites porque los anuló desde el principio.
Una opción mucho mejor
En general, en lugar de ajustar parámetros individuales en el sistema y desequilibrar el sistema (y potencialmente permitir que un solo programa bloquee el sistema al tomar todos los recursos), si los límites predeterminados del sistema son insuficientes para sus necesidades, recomiendo hacerlo. en "Modo de rendimiento del servidor", o al menos intentarlo. Todo lo que necesita para esto es OS X / macOS 10.8 Mountain Lion o posterior y al menos 16 GiB de memoria instalada. Al principio tenía que pagar por esto, pero a partir de OS X 10.8 Mountain Lion, es gratuito y oficialmente compatible con Apple con el sistema operativo estándar.
Activar este modo aumenta drásticamente los límites del sistema, particularmente la cantidad de procesos que puede ejecutar y la cantidad de archivos que puede abrir, a costa de asignar más memoria al núcleo del sistema. Puede leer en detalle lo que cambia el modo de rendimiento del servidor en la respuesta a la pregunta "¿Qué hace serverperfmode = 1 en macOS?" .
Este modo tiene varias ventajas sobre la edición de archivos de configuración como lo sugieren otras respuestas.
- Es un cambio de un solo parámetro, fácil de deshacer.
- Resulta en un conjunto equilibrado de límites más altos, preservando salvaguardas contra procesos deshonestos que bloquean el sistema.
- En la mayoría de los casos, proporciona límites más altos de lo que el núcleo permitiría, incluso con la edición de archivos de configuración.
- Eleva los límites predeterminados para todos los procesos sin ningún cambio de configuración adicional.
- A partir de OS X 10.11 El Capitan, el cambio de configuración se almacena en NVRAM, lo que significa que si está causando problemas, volverá al modo normal cuando realice el paso de solución de problemas de restablecer NVRAM. No tienes que recordarlo.
- Debido a que está en NVRAM, no cambiará accidentalmente el estado al restaurar desde copias de seguridad.
- Debido a que está en NVRAM, no se encenderá automáticamente cuando clones la configuración de tu Mac a un nuevo hardware.
- Debido a que es oficialmente compatible con Apple, "simplemente funciona" y no recibirá quejas de los Genios de Apple por haber modificado incorrectamente el sistema cuando solicite asistencia.
- Como se trata de un cambio de un solo parámetro, puede activarlo y desactivarlo fácilmente para solucionar problemas o comparar una configuración con la otra.
Activar o desactivar el modo de rendimiento del servidor
Para activar el Modo de rendimiento del servidor, use la Terminal para ejecutar uno de estos comandos y luego reinicie para que surta efecto:
- Para OS X 10.11 El Capitan o posterior, enciéndalo con
sudo nvram boot-args="serverperfmode=1 $(nvram boot-args 2>/dev/null | cut -f 2-)"
y apagarlo con
sudo nvram boot-args="$(nvram boot-args 2>/dev/null | sed -e $'s/boot-args\t//;s/serverperfmode=1//')"
Los comandos anteriores son los que Apple recomienda oficialmente, pero en realidad hay un problema con ellos, y es que si ejecuta el comando "encender" dos veces, entonces debe ejecutar el comando "apagar" dos veces para apagarlo. Por lo tanto, compruebe si está activado o desactivado después de realizar un cambio ejecutando
nvram boot-args
Si la salida incluye "serverperfmode = 1", entonces la configuración está activada, y si no lo está, entonces la configuración está desactivada.
- Para OS X 10.8 Mountain Lion, OS X 10.9 Mavericks y OS X 10.10 Yosemite, active el modo de rendimiento del servidor con
serverinfo --setperfmode 1
y apagarlo con
serverinfo --setperfmode 0
Verifique la configuración con
serverinfo --perfmode
La configuración no tendrá efecto hasta después de reiniciar el sistema.
Verificando si la computadora se está ejecutando actualmente en modo de rendimiento del servidor
Verificando la configuración le dirá si está configurado para tener efecto (o no) después de reiniciar. Para probar si está actualmente activo (suponiendo que haya seguido mi consejo y no haya editado ningún archivo de configuración que cambie la configuración), ejecute
sysctl kern.maxproc
Le dará un número que es el número máximo de procesos que permitirá el sistema. Si ese número es un múltiplo de 532 , el modo de rendimiento del servidor está desactivado. Si es un número redondo (un múltiplo de 2500), el modo de rendimiento del servidor está activado para el sistema actualmente en ejecución.