如何更改 Mac OS X 10.6 中的默认 ulimit 值?

Oll*_*lli 45 osx-snow-leopard ulimit

Mac OS X 将进程数限制为 266,将打开文件限制为 256。有时这是问题;256 个打开的文件和 266 个进程并不多。

如何在 Mac OS X 10.6.7 中更改默认的 ulimit 值?

(希望 10.6.7 和其他 Snow Leopard 版本之间没有区别。)

serverfault 中的相关问题。不幸的是,答案适用于 Mac OS X 10.5,在 10.6 中不起作用。

小智 47

launchctl 现在可以控制它。

你可以做一个

launchctl limit maxfiles 2048 2048 
Run Code Online (Sandbox Code Playgroud)

设置最大文件打开的软限制和硬限制。有关更多信息,请参阅以下的“限制”部分:

http://developer.apple.com/library/mac/#documentation/Darwin/Reference/ManPages/man1/launchctl.1.html

  • 执行“launchctl limit maxfiles 2048 2048”后,当我尝试在 shell 中执行任何操作时,Mac 上出现“打开的文件太多”,并且 Cocoa 应用程序显示空菜单。系统非常受宠若惊。谢天谢地,重新启动修复了它。 (5认同)
  • 不要在 macOS Sierra 上运行此命令。正确的命令是“launchctl limit maxfiles 2048 unlimited”,但我建议在这样做之前使用“launchctl limit maxfiles”查看您当前的设置,否则您将完全锁定您的计算机。 (5认同)

小智 9

StackOverflow 上有一个答案。显然ulimit现在这样做了。

  • 快速修复:编辑您的 ~/.bash_profile 并将其添加到一行中: ulimit -n 1024 (当然,使用您喜欢的任何数字) (3认同)
  • @PapaFreud 这仅在您打开终端/bash 时执行。并非所有程序都是从终端执行的。 (2认同)