/proc/pid/oom_score_adj - Ajustement de notation de mise à
mort sur mémoire saturée
- /proc/pid/oom_score_adj (depuis Linux 2.6.36)
- Ce fichier permet d'ajuster l'heuristique de mauvaise conduite
(« badness ») utilisée pour
sélectionner le processus qui sera tué dans une situation de
mémoire saturée.
- L'heuristique de mauvaise conduite assigne une valeur à chaque
tâche candidate entre 0 (ne jamais tuer) et 1000 (toujours
tuer) pour déterminer le processus ciblé. Les unités
sont à peu près proportionnelles à la quantité
de mémoire allouée dont le processus pourrait
bénéficier, à partir de l'estimation de son
utilisation actuelle de mémoire et d'espace d'échange. Par
exemple si une tâche utilise toute la mémoire
allouée, sa notation de mauvaise conduite sera 1000. S'il utilise
la moitié de sa mémoire alloué, sa notation sera
500.
- Un autre facteur est inclus dans la notation de mauvaise conduite :
3 % de mémoire supplémentaire est allouée aux
processus du superutilisateur par rapport aux autres tâches.
- La quantité de mémoire
« permise » dépend du contexte dans
lequel la mise à mort sur mémoire saturée a
été effectuée. Si elle est causée par la
saturation de mémoire assignée au cpuset de tâche
allouant, la mémoire permise représente l'ensemble de mems
(accès mémoire) assignés à ce cpuset
(consulter cpuset(7)). Si elle est provoquée par la
saturation de nœud(s) de mempolicy, la mémoire permise
représente l'ensemble de nœuds de mempolicy. Si elle est due
à l'atteinte d'une limite de mémoire (ou limite d'espace
d'échange), la mémoire allouée est cette limite
configurée. Enfin, si la cause est la saturation de mémoire
du système complet, la mémoire permise représente
toutes les ressources allouables.
- La valeur de oom_score_adj est ajoutée à la notation
de mauvaise conduite avant qu'elle ne soit utilisée pour
déterminer la tâche à tuer. Les valeurs acceptables
sont comprises entre -1000 (OOM_SCORE_ADJ_MIN) et +1000
(OOM_SCORE_ADJ_MAX). Cela permet à l'espace utilisateur de
contrôler les préférences de mise à mort sur
mémoire saturée, entre toujours préférer une
tâche en particulier ou désactiver complètement la
mise à mort sur mémoire saturée. La plus faible
valeur possible, -1000, est équivalente à désactiver
complètement la mise à mort sur mémoire
saturée pour cette tâche, puisque la notation de mauvaise
conduite sera toujours 0.
- Par conséquent, il est trivial pour l'espace utilisateur de
définir la quantité de mémoire à
considérer pour chaque tâche. Configurer une valeur
oom_score_adj de +500, par exemple, est à peu près
équivalent à permettre au reste des tâches partageant
les mêmes ressources du système, de cpuset, de mempolicy ou
du contrôleur de mémoire d'utiliser au moins 50 % de
mémoire en plus. Une valeur de -500, au contraire, serait à
peu près équivalente à ne prendre en compte que la
moitié de l'espace mémoire alloué à la
tâche pour la notation contre cette tâche.
- Pour des raisons de compatibilité ascendante avec les
précédents noyaux, /proc/pid/oom_adj peut
encore être utilisé pour ajuster la notation de mauvaise
conduite. Sa valeur est mise à l'échelle linéairement
avec oom_score_adj.
- Écrire vers /proc/pid/oom_score_adj ou
/proc/pid/oom_adj modifiera l'autre avec sa valeur mise
à l'échelle.
- Le programme choom(1) fournit une interface en ligne de commande
pour ajuster la valeur de oom_score_adj d’un processus en
cours d’exécution ou d’une commande nouvellement
exécutée.
- /proc/pid/oom_adj (depuis Linux 2.6.11)
- Ce fichier permet d'ajuster la notation utilisée pour
sélectionner le processus qui sera tué dans une situation de
mémoire saturée. Le noyau utilise cette valeur pour une
opération de décalage sur la valeur oom_score du
processus : les valeurs valables sont dans l'intervalle de -16
à +15 plus la valeur spéciale -17, qui désactive
complètement la mise à mort sur mémoire
saturée du processus. Une notation négative diminue la
probabilité.
- La valeur par défaut de ce fichier est 0. Un nouveau
processus hérite de la valeur oom_adj de son parent. Un
processus doit être privilégié
(CAP_SYS_RESOURCE) pour mettre à jour ce fichier, bien
qu’un processus puisse accroître son réglage de
oom_adjust (depuis Linux 2.6.20).
- Depuis Linux 2.6.36, l'utilisation de ce fichier est
déconseillée en faveur de
/proc/pid/oom_score_adj, et il a finalement
été retiré dans Linux 3.7.
La traduction française de cette page de manuel a
été créée par Christophe Blaess
<https://www.blaess.fr/christophe/>, Stéphan Rafin
<stephan.rafin@laposte.net>, Thierry Vignaud
<tvignaud@mandriva.com>, François Micaux, Alain Portal
<aportal@univ-montp2.fr>, Jean-Philippe Guérard
<fevrier@tigreraye.org>, Jean-Luc Coulon (f5ibh)
<jean-luc.coulon@wanadoo.fr>, Julien Cristau
<jcristau@debian.org>, Thomas Huriaux
<thomas.huriaux@gmail.com>, Nicolas François
<nicolas.francois@centraliens.net>, Florentin Duneau
<fduneau@gmail.com>, Simon Paillard
<simon.paillard@resel.enst-bretagne.fr>, Denis Barbier
<barbier@debian.org>, David Prévot <david@tilapin.org>,
Jean-Paul Guillonneau <guillonneau.jeanpaul@free.fr> et Lucien Gentis
<lucien.gentis@waika9.com>
Cette traduction est une documentation libre ; veuillez
vous reporter à la
GNU General
Public License version 3 concernant les conditions de copie et de
distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.
Si vous découvrez un bogue dans la traduction de cette page
de manuel, veuillez envoyer un message à
debian-l10n-french@lists.debian.org.