Tunable Kernel Parameters

Table Of Contents
Process Management Subsystem
Overview of Process Management Parameters
Chapter 8
50
Overview of Process Management Parameters
Process management includes:
Managing the number of processes on the system and processes per user to keep
system resources effectively distributed among users for optimal overall system
operation.
Managing allocation of CPU time to competing processes at equal and different
priority levels.
Allocation of virtual memory between processes, protecting the system and
competing users against unreasonable demands of abusive or run-away processes.
Process Management
See also “Process Parameter Summary” on page 49.
Process requirements on individual systems can vary widely. For example, it is not
uncommon for a modest workstation running a CDE or Motif environment to have over
100 simultaneous processes supporting a single system user. On the other hand, a large,
multiuser system could have 1000 simple ASCII user terminals connected to it, each
running only two or three specialized processes. Obviously the process limits imposed on
the system by the kernel must be quite different for these two common examples.
Two configurable parameters apply specifically to managing system processes, nproc
and maxuprc.
Select a value for nproc that is sufficient to provide enough processes for every user at
any given time when the maximum normal number of users are logged in.
Select a value for maxuprc that is adequate to meet the normal needs of all system users,
but low enough to prevent a run-away program from spawning too many processes (thus
preventing or restricting new process availability to other users), and to protect normal
users from malicious system abuse by any other user.
Kernel Threads
See also “Kernel Threads Parameter Summary” on page 49.
On large systems with multiple processors, parts of processes can sometimes be split
into threads and run simultaneously on separate processors. Two kernel parameters
help manage the consumption of system resources by threaded processes,
max_thread_proc and nkthread.
CPU Timesharing Management
See also “Timesharing Parameter Summary” on page 48.
The kernel checks frequently for other processes requesting CPU time. Checks for CPU
requests from higher-priority processes are made every 10 milliseconds. When two or
more processes at the same priority level (such as from two different system users) are
competing for CPU time, CPU time is “sliced” into segments, defined by timeslice, and
passed from process to process in a round-robin fashion, preventing a single process from
monopolizing the CPU until it blocks or terminates.