ulimit、launchctl、sysctl 之间的区别?

ulimit、launchctl、sysctl 之间的区别?

在管理操作系统(特别是OSX)的限制时,这三个工具的功能和历史有什么区别和重叠:

  1. ulimit
  2. launchctllaunchd
  3. sysctl

我发现调整 OSX 上的最大进程数和打开文件数限制很令人困惑。

如果某些进程是通过终端而不是 GUI 启动的,这有关系吗?

可能相关:

答案1

1. ulimit

这是你的 shell(bash/ash/zsh 等)的内置命令。它暂时地设置当前 shell 的进程限制。顺便说一下,这不是 macOS 独有的。

2. sysctl

大多数类 Unix(Linux/*BSD/macOS)系统通过命令sysctl配置/etc/sysctl.conf文件设置全局限制/内核设置。

似乎macOS 不再支持sysctl.conf启动。因此在 macOS 上,它似乎sysctl仅适用于暂时地设置全局限制。

3. launchd/launchctl

要以持久方式设置全局限制,请launchctl在 macOS 上使用。

相关内容