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.

Olli
  • 7,571
  • 3
  • 34
  • 47

4 Answers4

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

Aaron Kangas
  • 532
  • 5
  • 3
  • 1
    This still works in OS X 10.9 – Olli Feb 16 '14 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 01 '14 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 06 '15 at 03:47
  • I ran this command and it did something to my Mac. Is it possible to return it to the former setting? – JCraine Apr 17 '15 at 03:23
  • Could someone confirm if 'maxfiles 266 256' will return it to the default? – JCraine Apr 17 '15 at 03:31
  • 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. – Graham Wheeler Oct 31 '15 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 08 '18 at 15:55
  • @snowe2010 When I run `launchctl limit maxfiles` the console outputs: `maxfiles 256 unlimited` Given this output, would it be safe to run `launchctl limit maxfiles 2048 unlimited` ? – Kelseydh May 19 '21 at 02:50
  • @Kelseydh I am not sure. I wrote that comment almost 3 years ago and do not even remember why haha. Maybe just make sure you have all files saved and programs closed before doing so. – snowe2010 May 19 '21 at 20:36
  • I wish I had read the comments before running this command... DO NOT RUN `launchctl limit maxfiles 2048 2048`, it will freeze your computer (Catalina 10.15)! – Javier C. H. Oct 22 '21 at 10:40
9

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

atl
  • 101
  • 1
  • 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 06 '11 at 07: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 '13 at 07:50
  • 2
    @PapaFreud That's only executed when you open the terminal/bash. Not all programs are executed from terminal. – Olli Jan 30 '14 at 14:34
3

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

launchctl limit maxfiles 2048 unlimited

hernvnc
  • 131
  • 3
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.