proc_pid_oom_score_adj(5) | File Formats Manual | 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
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 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.
2 mai 2024 | Pagini de manual de Linux 6.9.1 |