Solaris Tunable Parameters Reference Manual

max_nprocs (Pre-Solaris 8 Releases)

Description

Maximum number of processes that can be created on a system. Includes system and user processes. Prior to the Solaris 8 release, the value was determined by computation and then used in the setting of maxuprc.

This value is also used in determining the size of several other system data structures. For releases prior to Solaris 8, if a value is provided in /etc/system it is used rather than the computed value. Other data structures where this variable plays a role are:

  • Determining the size of the directory name lookup cache (if ncsize is not specified)

  • Allocating disk quota structures for UFS (if ndquot is not specified)

  • Verifying that the amount of memory used by configured system V semaphores does not exceed system limits

  • Configuring Hardware Address Translation resources for the sun4d, sun4m, and Intel platforms

Data Type

Signed integer

Default

10 + (16 x maxusers)

Range

266 to value of pidmax

Dynamic?

No. max_nprocs is assigned to the v_proc element of the v structure after the initial parameter calculation is completed. Changing v.v_proc on a running system almost certainly results in a system crash or silent data corruption.

Validation

Compared to maxpid and set to maxpid, if larger. On the sun4d and Intel platforms, an additional check is made against a platform-specific value. max_nprocs is set to the smallest value in the triplet (max_nprocs, maxpid, platform value). Both platforms use 65,534 as the platform value.

When to Change

Starting with the Solaris 8 release, this value can be changed to enable more than 30,000 processes on a system. Changing this parameter is one of the steps necessary to enable support for more than 30,000 processes on a system.

Commitment Level

Unstable