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?
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 caparazón y 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 C estándar ulimit()
o getrlimit()
y setrlimit()
. Ciertos límites de recursos no se pueden elevar a menos que el proceso se esté ejecutando como 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:
# Increase the upper limit on the number of open files:
ulimit -n 1024
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.
launchctl limit
; aunque el usuario puede cambiar los números ulimit, sin embargo, no pueden exceder launchctl limit
los límites estrictos.
andres u.
Howard
kenorb