Назад | Перейти на главную страницу

В чем разница между ulimit, launchctl, sysctl?

При управлении ограничениями операционной системы (в частности, OSX), в чем разница и перекрытие между функциональностью и историей этих трех инструментов:

  1. ulimit
  2. launchctl, launchd
  3. sysctl

Мне было сложно настроить максимальное количество процессов и ограничения на количество открытых файлов в OSX.

Имеет ли значение, если какие-то процессы запускаются через терминал, а не через графический интерфейс?

Возможно связанные:

1. ulimit

Это встроенная команда вашей оболочки (bash / ash / zsh и т. Д.). Это временно устанавливает ограничения процесса для текущей оболочки. Кстати, это не относится к macOS.

2. sysctl

Большинство unix-подобных систем (Linux / * BSD / macOS) устанавливают глобальные ограничения / настройки ядра через sysctl команда /etc/sysctl.conf файл конфигурации.

Похоже на macOS не уважает sysctl.conf при запуске больше. Итак, в macOS это выглядит как sysctl просто можно использовать для временно установка глобальных лимитов.

3. launchd / launchctl

Для постоянной установки глобальных ограничений используйте launchctl на macOS.