proc_pid_oom_score_adj(5)

NUME
/proc/pid/oom_score_adj - ajustarea punctajului OOM-killer

DESCRIERE

/proc/pid/oom_score_adj (începând cu Linux 2.6.36)
    Acest fișier poate fi utilizat pentru a ajusta euristica de comportament inadecvat „badness” utilizată pentru a selecta care proces este ucis în condiții de lipsă de memorie.

    Metoda euristică a comportamentului inadecvat atribuie o valoare fiecărei sarcini candidate, cuprinsă între 0 (nu omoară niciodată) și 1000 (omoară întotdeauna), pentru a determina care proces este vizat. Unitățile reprezintă aproximativ o proporție de-a lungul intervalului de memorie permisă pe care procesul o poate aloca, pe baza unei estimări a utilizării curente a memoriei și a spațiului memoriei de interschimb. De exemplu, dacă o sarcină utilizează toată memoria permisă, punctajul său de comportament inadecvat va fi 1000. Dacă utilizează jumătate din memoria permisă, punctajul său va fi de 500.

    Există un factor suplimentar inclus în punctajul de răutate: procesele utilizatorului root primesc 3% de memorie în plus față de alte sarcini.

    Cantitatea de memorie„permisă” depinde de contextul în care a fost apelat OOM-killer. Dacă se datorează epuizării memoriei alocate cpuset-ului sarcinii de alocare, memoria permisă reprezintă setul de memorii alocate cpuset-ului respectiv (a se vedea cpuset(7)). Dacă se datorează epuizării nodului (nodurilor) unei „mempolicy”, memoria permisă reprezintă setul de noduri „mempolicy”. Dacă se datorează atingerii unei limite de memorie (sau a unei limite a spațiului memoriei de interschimb), memoria permisă este limita configurată. În cele din urmă, dacă se datorează faptului că întregul sistem a rămas fără memorie, memoria permisă reprezintă toate resursele alocabile.

    Valoarea oom_score_adj este adăugată la punctajul de comportament inadecvat înainte de a fi utilizată pentru a determina sarcina care trebuie eliminată. Valorile acceptabile variază de la -1000 (OOM_SCORE_ADJ_MIN) la +1000 (OOM_SCORE_ADJ_MAX). Acest lucru permite spațiului utilizatorului să controleze preferința pentru OOM-killing, variind de la a prefera întotdeauna o anumită sarcină sau a o dezactiva complet de la OOM-killing. Cea mai mică valoare posibilă, -1000, este echivalentă cu dezactivarea completă a OOM-killing pentru sarcina respectivă, deoarece aceasta va raporta întotdeauna un punctaj de comportament inadecvat de 0.

    În consecință, este foarte simplu pentru spațiul de utilizator să definească cantitatea de memorie care trebuie luată în considerare pentru fiecare sarcină. Stabilirea unei valori oom_score_adj de +500, de exemplu, este aproximativ echivalentă cu a permite celorlalte sarcini care împart același sistem, „cpuset”, „mempolicy” sau resurse ale controlorului de memorie să utilizeze cu cel puțin 50% mai multă memorie. O valoare de -500, pe de altă parte, ar fi aproximativ echivalentă cu reducerea cu 50% a memoriei permise pentru sarcină pentru a nu fi considerată ca fiind în defavoarea sarcinii.

    Pentru compatibilitatea cu nucleele anterioare, /proc/pid/oom_adj poate fi utilizat în continuare pentru a regla punctajul de comportament inadecvat. Valoarea sa este scalată liniar cu oom_score_adj.

    Scrierea în /proc/pid/oom_score_adj sau /proc/pid/oom_adj îl va modifica pe celălalt cu valoarea sa scalată.

    Programul choom(1) oferă o interfață de linie de comandă pentru ajustarea valorii oom_score_adj a unui proces în desfășurare sau a unei comenzi nou executate.

ISTORIC

/proc/pid/oom_adj (începând cu Linux 2.6.11)
    Acest fișier poate fi utilizat pentru a ajusta punctajul utilizat pentru a selecta procesul care ar trebui omorât într-o situație OOM (out-of-memory). Nucleul utilizează această valoare pentru o operație de bit-shift a valorii oom_score a procesului: valorile valide sunt cuprinse între -16 și +15, plus valoarea specială -17, care dezactivează complet omorârea OOM pentru acest proces. Un punctaj pozitiv crește probabilitatea ca acest proces să fie omorât de OOM-killer; un punctaj negativ scade probabilitatea.

    Valoarea implicită pentru acest fișier este 0; un proces nou moștenește valoarea oom_adj a părintelui său. Un proces trebuie să fie privilegiat (CAP_SYS_RESOURCE) pentru a actualiza acest fișier, deși un proces își poate crește întotdeauna propria valoare oom_adj (începând cu Linux 2.6.20).

    Începând cu Linux 2.6.36, utilizarea acestui fișier este depreciată în favoarea /proc/pid/oom_score_adj, și în cele din urmă eliminată în Linux 3.7.

CONSULTAȚI ȘI
proc(5), proc_pid_oom_score(5)

TRADUCERE
Traducerea în limba română a acestui manual a fost făcută de Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>

Această traducere este documentație gratuită; citiți Licența publică generală GNU Versiunea 3 (https://www.gnu.org/licenses/gpl-3.0.html) sau o versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă NICIO RESPONSABILITATE.

Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la translation-team-ro@lists.sourceforge.net.