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.1Such 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.

1Such assumptions violate the interface specification of HP-UX 11i. Nonetheless, some old coding habits may have contributed to such application assumptions.

3