Which command / configuration file controls the open file limits on OS X? Is there a different command for OS X 10.5 / 10.6 / 10.7? The options I explore below are
"Too many open files" is apparently a common error on Leopard, perhaps other versions of OS X:
There are many (related?) ways to view the open file limits:
$ ulimit -a core file size (blocks, -c) 0 data seg size (kbytes, -d) unlimited file size (blocks, -f) unlimited max locked memory (kbytes, -l) unlimited max memory size (kbytes, -m) unlimited open files (-n) 2048 pipe size (512 bytes, -p) 1 stack size (kbytes, -s) 8192 cpu time (seconds, -t) unlimited max user processes (-u) 512 virtual memory (kbytes, -v) unlimited $ launchctl limit cpu unlimited unlimited filesize unlimited unlimited data unlimited unlimited stack 8388608 67104768 core 0 unlimited rss unlimited unlimited memlock unlimited unlimited maxproc 1024 2048 maxfiles 2048 4096 $ sysctl -a | grep files kern.maxfiles = 32768 kern.maxfilesperproc = 16384 kern.maxfiles: 32768 kern.maxfilesperproc: 16384 kern.num_files: 2049
It has been claimed in some of the above posts that these can be modified with the following commands:
sudo launchctl limit maxfiles 16384 32768 sudo ulimit -n 32768 sudo sysctl -w kern.maxfilesperproc=16384 sudo sysctl -w kern.maxfiles=32768
However, out of the above commands, only the
sysctl commands have any apparently effect (i.e.
ulimit -n and
launchctl limit show no change after the above commands have been entered, while
sysctl -a does show the requested changes).
The corresponding locations to change these parameters for the OS are:
I also discovered one answer which reads that
ulimit only controls the current shell.
How can I adjust upwards the max files / max open files limits on macOS?