Comme tout système Unix, AIX réagit face au remplissage excessif de la zone de pagination.
Dans un premier temps, le système envoie des signaux de Warning lorsque le niveau donné par la variable 'npswarn' est atteint.
Ensuite, si le nombre de page de l'espace de SWAP descend en dessous de la valuer donnée par la variable 'npskill', le système commence à envoyer le signale SIGKILL aux processus les plus jeunes.
Une variable supplémentaire, 'nokilluid' existe dans AIX pour préciser que les UIds inférieurs à cette valeur ne doivent pas recevoir de SIGKILL.
Par défaut à '0', il est possible de modifier cette variable à '1' par exemple, spécifiant alors que les processus de 'root'(0) ne doivent pas être tuer.
Ces 3 variables sont visibles et modifiables au travers de la commande 'vmo'.
Ci-dessous, extrait de la documentation officielle pour AIX V7.1.
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, ifnokilluid is set to 1, processes owned by root will be exempt from being killed when the npskill threshold is reached.