¿Cuál es la relación entre 'launchctl limit' y 'ulimit'?

11

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?

    
pregunta Howard 07.01.2014 - 11:57

1 respuesta

10

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 sólo a la concha y sus hijos. Los límites de 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 pueden elevarse a menos que el proceso se ejecute como superusuario.

Como ejemplo práctico, depuro grandes proyectos de software y el límite predeterminado del shell para el número 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 ningún impacto en launchd.

    
respondido por el ithos67 11.01.2014 - 03:59

Lea otras preguntas en las etiquetas