Разница между ulimit, launchctl, sysctl?
При управлении ограничениями операционной системы (в частности, OSX), каковы различия и совпадения между функциональностью и историей этих трех инструментов:
ulimit
launchctl
,launchd
sysctl
Я нашел сбивающим с толку настройку максимальных процессов и лимитов открытых файлов на OSX.
Имеет ли значение, если некоторые процессы запускаются через терминал, а не через графический интерфейс?
Возможно связано:
1 ответ
1. улимит
Это встроенная команда вашей оболочки (bash/ash/zsh и т. Д.). Он временно устанавливает ограничения процесса для текущей оболочки. Кстати, это не специфично для macOS.
2. sysctl
Большинство Unix-подобных (Linux/*BSD/macOS) систем устанавливают глобальные ограничения / настройки ядра через sysctl
команда /etc/sysctl.conf
Конфигурационный файл
Похоже, macOS не соблюдает sysctl.conf
при запуске больше. Так на macOS это выглядит так sysctl
просто используется для временной установки глобальных ограничений.
3. launchd / launchctl
Для постоянной установки глобальных ограничений используйте launchctl
на macOS.