Values for the npswarn and npskill parameters

The npswarn and npskill thresholds are used by the VMM to determine when to first warn processes and eventually when to kill processes.

These two parameters can be set through the vmo command:

npswarn
Specifies the number of free paging-space pages at which the operating system begins sending the SIGDANGER signal to processes. If the npswarn threshold is reached and a process is handling this signal, the process can choose to ignore it or do some other action such as exit or release memory using the disclaim() subroutine.

The value of npswarn must be greater than zero and less than the total number of paging-space pages on the system. It can be changed with the command vmo -o npswarn=value.

npskill
Specifies the number of free paging-space pages at which the operating system begins killing processes. If the npskill threshold is reached, a SIGKILL signal is sent to the youngest process. Processes that are handling SIGDANGER or processes that are using the early page-space allocation (paging space is allocated as soon as memory is requested) are exempt from being killed. The formula to determine the default value of npskill is as follows:
npskill = maximum (64, number_of_paging_space_pages/128)

The npskill value must be greater than zero and less than the total number of paging space pages on the system. It can be changed with the command vmo -o npskill=value.

nokilluid
By setting the nokilluid option to a nonzero value with the vmo -o nokilluid command, user IDs lower than this value will be exempt from being killed because of low page-space conditions. For example, if nokilluid is set to 1, processes owned by root will be exempt from being killed when the npskill threshold is reached.