Mac OS X Server v10.6: Understanding process limits
Summary
In versions of Mac OS X Server prior to version 10.6 (Snow Leopard) the maximum number of processes available on a server was limited to 2500. The 64-bit kernel included in Mac OS X Server v10.6 automatically scales the maximum number of processes, vnodes (open file handles), and threads based on the amount of memory installed in the server.
Products Affected
Mac OS X Server 10.6
For hardware that supports the 64-bit kernel, the following limits are automatically set by the operating system based on the amount of memory present:
- For each 8GB of installed memory, 2500 processes and 150,000 vnodes are available. The maximum number of threads is set to five times (5x) the number of maximum processes.
- A single user ID (uid) can use up to 75% of the maximum number of processes.
- A single process can allocate up to 20% of the maximum threads value.
The following Terminal commands can be used to read the values on the running system:
sysctl kern.maxproc
sysctl kern.maxvnodes
sysctl kern.maxfiles
Additional Information
This table details the expanded limits as memory is added to a Mac OS X Server v10.6-based server:
| Memory in GB | Maximum # of Processes | Maximum # of vnodes (open files) | Maximum # of Threads |
| 8 | 2500 | 150000 | 12500 |
| 16 | 5000 | 300000 | 25000 |
| 24 | 7500 | 450000 | 37500 |
| 32 | 10000 | 600000 | 50000 |
| 40 | 12500 | 750000 | 62500 |
| 48 | 15000 | 900000 | 75000 |
| 56 | 17500 | 1050000 | 87500 |
| 64 | 20000 | 1200000 | 100000 |
| 72 | 22500 | 1350000 | 112500 |
| 80 | 25000 | 1500000 | 125000 |
| 88 | 27500 | 1650000 | 137500 |
| 96 | 30000 | 1800000 | 150000 |
Twitter
Facebook