No hay ninguna configuración ulimit en los archivos de inicio del sistema / scripts de inicio de shell.
ulimit -a
muestra:
-u: processes 1064
-n: file descriptors 256
launchctl limit
muestra:
maxproc 2048 2048
maxfiles 2048 2048
Recuerdo vagamente que los límites de launchctl deberían coincidir con la salida ulimit de un shell, podría estar equivocado.
¿Existe alguna relación entre los límites de lauchctl y ulimit?
Respuestas:
En el shell, ulimit proporciona "control sobre los recursos disponibles para el shell y los procesos iniciados por él" (ver
man bash
). Por lo tanto, se aplica solo al shell y a sus hijos. Los límites para launchd están relacionados con él y los procesos que gestiona. Los dos están separados.Los programas individuales pueden establecer sus propios límites de recursos llamando a las rutinas de la Biblioteca Estándar C
ulimit()
ogetrlimit()
ysetrlimit()
. Ciertos límites de recursos no se pueden elevar a menos que el proceso se ejecute como el superusuario.Como ejemplo práctico, depuro grandes proyectos de software y el límite predeterminado del shell para la cantidad de archivos abiertos no es lo suficientemente grande. En mi archivo .bashrc, tengo lo siguiente:
Ahora mi depurador no se quejará de que no puede abrir todos los archivos que necesita. Obviamente, esto no debería tener impacto en launchd.
fuente
launchctl limit
; aunque el usuario puede cambiar los números ulimit, sin embargo, no pueden excederlaunchctl limit
los límites estrictos.