¿Diferencia entre ulimit, launchctl, sysctl?

10

Al administrar los límites del sistema operativo (específicamente OSX), cuál es la diferencia y la superposición entre la funcionalidad y el historial de estas tres herramientas:

  1. ulimit
  2. launchctl, launchd
  3. sysctl

Me pareció confuso ajustar los procesos máximos y los límites de archivos abiertos en OSX.

¿Importa si algunos procesos se inician a través del terminal frente a la GUI?

Posiblemente relacionado:

Eric
fuente

Respuestas:

3

1. ulimit

Este es un comando incorporado de su shell (bash / ash / zsh, etc.). Se temporalmente conjuntos procesar límites para el shell actual. Por cierto, esto no es específico de macOS.

2. sysctl

La mayoría de los sistemas unix (Linux / * BSD / macOS) establecen la configuración global de límite / núcleo a través del archivo de configuración del sysctlcomando /etc/sysctl.conf.

Parece que macOS ya no cumple con sysctl.confel inicio . Entonces, en macOS, parece que sysctlsolo se puede usar para establecer temporalmente los límites globales.

3. launchd / launchctl

Para establecer límites globales de forma persistente, launchctlúselo en macOS.

Dominik R
fuente
1
El texto debajo de "launchd" en realidad no habla de launchd (o launchctl, sobre el cual el OP preguntó).
Nick Chammas
Editó la respuesta para arreglar el punto de @NickChammas.
hasta el