47

Mac OS X limits number of processes to 266 and open files to 256. Sometimes this is problem; 256 open files and 266 processes aren't that much.

How it's possible to change default ulimit values in Mac OS X 10.6.7?

(Hopefully there's no difference between 10.6.7 and other Snow Leopard releases.)

Related question in serverfault. Unfortunately, answer is for Mac OS X 10.5, and it's not working in 10.6.

1
  • For a quick change: ulimit -n 1024. But it doesn't change the default.
    – Cœur
    Sep 23, 2016 at 7:20

4 Answers 4

50

launchctl has control over that now.

You can do a

launchctl limit maxfiles 2048 2048 

to set the soft and hard limits for maximum files open. For more information see the 'limit' section of:

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

10
  • 1
    This still works in OS X 10.9
    – Olli
    Feb 16, 2014 at 12:03
  • I'm running 10.9.4 and when I launchctl limit maxfiles 2048 2048 and mongo I'm still getting the soft rlimits too low error. Anything else I can try?
    – Ryan
    Jul 1, 2014 at 15:04
  • after changing the limit with sudo launchctl etc., then close/open the terminal and set the ulimit -n 2048. this time it should work. check it with ulimit -n
    – chrismarx
    Feb 6, 2015 at 3:47
  • 7
    After doing 'launchctl limit maxfiles 2048 2048' I got 'too many open files' on my Mac when I tried to do anything in the shell, and Cocoa apps showed empty menus. System was pretty much toasted. A reboot thankfully fixed it. Oct 31, 2015 at 22:06
  • 7
    Do not run this command on macOS Sierra. The correct command would be launchctl limit maxfiles 2048 unlimited though I would suggest viewing your current settings with launchctl limit maxfiles before doing so, else you'll completely lock up your computer.
    – snowe2010
    May 8, 2018 at 15:55
9

There's an answer on StackOverflow for this one. Apparently ulimit does it now.

3
  • 1
    You can change values with ulimit, but it's not saving those. Linked post do not include any way to save defaults.
    – Olli
    Apr 6, 2011 at 7:22
  • 3
    A quick fix: Edit your ~/.bash_profile and add this on a line: ulimit -n 1024 (using whatever number you like, of course)
    – PapaFreud
    Jun 12, 2013 at 7:50
  • 2
    @PapaFreud That's only executed when you open the terminal/bash. Not all programs are executed from terminal.
    – Olli
    Jan 30, 2014 at 14:34
3

As @snowe2010 said in a comment, the correct command for Sierra+ would be:

launchctl limit maxfiles 2048 unlimited

1

FYI.

.bash_profile update didn't help me for OS v10.10.3, but reinstallation NodeJS from 0.10.35 to 0.12.3 helped me, and error disappear.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .