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


42

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中不起作用。


快速更改:ulimit -n 1024。但这不会更改默认值。
2016年

Answers:


47

launchctl现在可以控制它了。

你可以做一个

launchctl limit maxfiles 2048 2048 

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

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


1
这仍然适用于OS X 10.9
Olli 2014年

我正在运行10.9.4,当我launchctl limit maxfiles 2048 2048mongo我仍然遇到soft rlimits too low错误时。我还能尝试什么吗?
Ryan

使用sudo launchctl等更改限制后,然后关闭/打开终端并设置ulimit -n2048。这一次它应该可以工作。用ulimit -n检查它
chrismarx 2015年

4
尝试在shell中执行任何操作后,执行了“ launchctl limit maxfiles 2048 2048”,我的Mac上得到了“太多打开的文件”,并且Cocoa应用程序显示了空菜单。系统几乎被烘烤了。重启很幸运地修复了它。
格雷厄姆·惠勒

3
不要在macOS Sierra上运行此命令。正确的命令是,launchctl limit maxfiles 2048 unlimited尽管我建议launchctl limit maxfiles在此之前查看当前设置,否则您将完全锁定计算机。
snowe2010

8

在StackOverflow上有一个答案。显然ulimit是现在。


1
您可以使用ulimit更改值,但不会保存这些值。链接的帖子不包含任何保存默认值的方法。
奥利

3
快速修复:编辑〜/ .bash_profile并将其添加到一行:ulimit -n 1024(当然,使用您喜欢的任何数字)
PapaFreud 2013年

2
@PapaFreud仅在打开终端/ bash时执行。并非所有程序都从终端执行。
Olli 2014年

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.