Originally, maxusers defined the number of logged in users the system could support. When a kernel was generated, various tables were sized based on this setting. Current Oracle Solaris releases do much of its sizing based on the amount of memory on the system. Thus, much of the past use of maxusers has changed. A number of subsystems that are still derived from maxusers:
The maximum number of processes on the system
The number of quota structures held in the system
The size of the directory name look-up cache (DNLC)
Lesser of the amount of memory in MB or 2048, and the greater of that value and nCPUs x 8
1 to the greater of 2048 or nCPUs x 8, based on the size of physical memory, if not set in the /etc/system file
1 to the greater of 4096 or the nCPUs x 8, if set in the /etc/system file
No. After computation of dependent parameters is done, maxusers is never referenced again.
If the value is greater than the maximum allowed, it is reset to the maximum. A message to that effect is displayed.
When the default number of user processes derived by the system is too low. This situation is evident when the following message displays on the system console:
out of processes
You might also change this parameter when the default number of processes is too high, as in these situations:
Database servers that have a lot of memory and relatively few running processes can save system memory when the default value of maxusers is reduced.
If file servers have a lot of memory and few running processes, you might reduce this value. However, you should explicitly set the size of the DNLC. See ncsize.