| United States-English |
|
|
|
![]() |
Tunable Kernel Parameters: HP-UX Release 11i Version 1.6 > Chapter 8 Process Management
SubsystemOverview of Process Management Parameters |
|
Process management includes:
See also “Process Parameter Summary”. 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. See also “Kernel Threads Parameter Summary”. 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. See also “Timesharing Parameter Summary”. 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. See also “Memory Space Parameter Summary”. PA-RISC hardware supports the allocation of up to 2 GB of virtual memory to a single process. This memory is divided between the text space where programs are stored, data space (globals, statics, locals to main(), strings, etc.), dynamic storage (space allocated by malloc(), stack, registers, etc.), and approximately 200 MB reserved for other purposes. Most processes never need that much room, and furthermore, the 2 GB limit exceeds the installed disk space on many systems. These configurable kernel parameters place protective limits on allocation of process space: maxtsiz, maxtsiz_64bit, maxdsiz, maxdsiz_64bit, maxssiz, and maxssiz_64bit. Different users on different systems have widely divergent process space needs, making it impractical or frustrating to enforce a fixed limit on text or data storage, for example, for every user on every system. For example, some users on a research or development system may have very modest text segment needs yet require very large data segment space (a small program operating on a very large array, for example), while other users on the same system may need little data space yet have rather large text (program storage) requirements. On the other hand, a production system supporting hundreds of users may require moderate data storage space per user, yet the aggregate total users on the system may require massive swap space, making it appropriate to use relatively small space limits to protect other users from malfunctioning or run-away iterative processes started by a single user. Selecting limits that meet the needs of all users on the system while also protecting all users from run-away programs or abuses by others requires a thorough understanding of individual users' program needs. When selecting values, be aware that the limits chosen for maxtsiz, maxdsiz, and maxssiz are safety nets to prevent monopolization of virtual memory resources to the detriment of other users. They are not intended to restrict individual users' access to needed space. maxtsiz, maxdsiz, and maxssiz are usually set to values whose combined totals can exceed available swap space. This is appropriate because most user program requirements are significantly less than the limit values imposed by these parameters, and selecting values that protect users from occasional malfunctions rather than using smaller values that tend to ration space among users improves overall system performance for everyone on the system. |
||||||||||||||||||||||||||||||||||||||||
|
|||||||||||||||