Number of Processes and Process ID Values on HP-UX

3
Introduction
Effective in HP-UX 11i version 3, the maximum number of allowed processes is greater than in prior
versions. To support this increase, the range of values used for process IDs (PIDs) is also increased.
Similarly, the range of values used for process group IDs (PGIDs) and session IDs (SIDs) is increased
(since these are given the PID value of the group or session leader).
Some applications may have been coded with builtin assumptions that the number of processes and
the value of PIDs/PGIDs/SIDs cannot exceed 30,000 the maximum imposed by prior versions of
HP-UX.
1
Such applications can fail on configurations that allow or create processes with IDs greater
than 30,000 or more than 30,000 active processes. This paper provides information about the
expanded values and limits, about how applications might depend on the prior limits, and offers
some remedies.
Terminology
11i v3
This refers to version 3 of HP-UX 11i. The uname(1) command reports the release as B.11.31. The
previous versions of HP-UX 11i referenced in this document are version 2 (B.11.23) and version 1
(B.11.11).
active processes
Total number of processes that exist simultaneously and that can be found in a list of processes
produced by the ps(1) command. This includes defunct (zombie) processes that have not yet been
waited upon by their parent process (with a function such as wait(2)).
CHILD_MAX, _SC_CHILD_MAX
The CHILD_MAX system variable, obtainable via the function sysconf(_SC_CHILD_MAX) or the
command getconf CHILD_MAX, is the same value as that of the maxuprc system tunable
parameter.
MAXPID, PID_MAX
MAXPID and PID_MAX specify the maximum value for a process identifier (PID). In past releases
their value was 30,000 (before 11i v1) and 8,388,607 (11i v1, v2). In 11i v3 the value is
1,073,741,823.
maxuprc
This is the system tunable parameter that specifies the upper limit on the number of active processes
associated with a single user ID. It represents the maximum per-user processes. In HP-UX 11i v3, this
value can now exceed 30,000. Note that the number of active child processes for a single parent
process might be limited to a smaller value.
NPROC
This is the system tunable parameter that specifies the upper limit on the number of active processes.
The maximum value on OS versions prior to HP-UX 11i v3 was 30,000. For version 3, the maximum
supported value is 60,000. The default is 4200.
1
Such assumptions violate the interface specification of HP-UX 11i. Nonetheless, some old coding habits may have contributed
to such application assumptions.