Provided by: manpages-pl_4.27.0-1_all 

NAZWA
/proc/pid/oom_score_adj - dostosowanie wyniku dla OOM-killera
OPIS
/proc/pid/oom_score_adj (od Linuksa 2.6.36)
Plik może być użyty do dostosowania heurystyki zwanej „badness”, używanej do wybrania procesu
który zostanie zabity w sytuacji braku pamięci.
Przypisuje ona do każdego potencjalnego zadania wartość od 0 (nigdy nie zabija) do 1000 (zawsze
zabija) aby określić docelowy proces do zabicia. Jednostki są z grubsza proporcjonalne do pamięci,
którą proces może przydzielić, obliczaną w oparciu do bieżącego użycia pamięci i pamięci wymiany.
Na przykład zadanie używające całą dozwoloną pamięć otrzyma wynik 1000, a jeśli użyje połowę
dozwolonej pamięci, otrzyma wynik 500.
Dodatkowym czynnikiem w wyniku „badness” jest fakt, że procesy roota mają dodatkowe 3% pamięci w
stosunku do pozostałych procesów.
Wielkość „dozwolonej” pamięci zależy od kontekstu w jakim wywołano OOM-killera. Jeśli wynika to z
faktu, że pamięć przeznaczona dla zadania alokującego cpuset została wyczerpana, to dozwolona
pamięć odpowiada zestawowi pamięci przypisanego do tego cpuset (zobacz cpuset(7)). Jeśli jest to
skutek zasad dot. pamięci węzła (lub węzłów), to dozwolona pamięć odpowiada zestawowi tych zasad.
Jeśli wynika to z faktu, że osiągnięto limit pamięci (lub pamięci wymiany) to dozwolona pamięć
jest tak ustawionym limitem. Gdy wynika to z sytuacji braku pamięci, to dozwolona pamięć odpowiada
wszystkim zaalokowanym zasobom.
Wartość oom_score_adj jest dodawana do wyniku „badness” przed użyciem jej do wybrania procesu
przeznaczonego do zabicia. Dozwolone wartości wynoszą od -1000 (OOM_SCORE_ADJ_MIN) do +1000
(OOM_SCORE_ADJ_MAX). Pozwala to przestrzeni użytkownika na kontrolę preferencji OOM-killing. Można
w ten sposób zawsze preferować dane zadanie lub całkowicie wyłączyć je z procesu OOM-killing.
Najniższa dostępna wartość (-1000) jest równoznaczna z całkowitym wyłączeniem OOM-killing dla
danego zadania, ponieważ zawsze zwróci ono wynik „badness” równy 0.
Z tego względu łatwo jest zdefiniować wielkość pamięci dla każdego zadania przez przestrzeń
użytkownika. Ustawienie wartości oom_score_adj np. na +500 jest w przybliżeniu odpowiednikiem
pozwolenia pozostałym zadaniom w tym samym systemie, cpuset, zasadom dot. pamięci i zasobom
kontrolera pamięci na użycie co najmniej 50% pamięci więcej. Z kolei wartość -500 odpowiada mniej
więcej zmniejszeniu o 50% dozwolonej pamięci.
Z powodu zgodności wstecznej ze starszymi jądrami do modyfikacji wyniku „badness” wciąż można
używać /proc/pid/oom_adj. Jego wartość skaluje się liniowo z oom_score_adj.
Zapis do /proc/pid/oom_score_adj lub /proc/pid/oom_adj zmieni zapis w drugim pseudopliku na
przeskalowaną odpowiednio wartość.
Program choom(1) zapewnia interfejs wiersza poleceń do dostosowywania wartości oom_score_adj
działającego procesu lub nowo wykonywanego polecenia.
HISTORIA
/proc/pid/oom_adj (od Linuksa 2.6.11)
Plik może być użyty do dostosowania wyniku, używanego do wybrania procesów do zabicia, w przypadku
sytuacji braku pamięci (out-of-memory - OOM). Jądro używa tej wartości do operacji przesunięcia
bitowego wartości oom_score procesu: poprawne wartości mieszczą się w zakresie od -16 do +15, wraz
ze specjalną wartością -17, która całkowicie wyłącza zabijanie przy OOM danego procesu. Dodatni
wynik zwiększa prawdopodobieństwo, że proces zostanie zabity przez OOM-killer, ujemny zmniejsza
je.
Domyślną wartością tego pliku jest 0, nowy proces dziedziczy ustawienie oom_adj swojego rodzica.
Proces musi być uprzywilejowany (CAP_SYS_RESOURCE) aby móc zaktualizować ten plik, choć może
zawsze zwiększyć swoje ustawienie oom_adj (od Linuksa 2.6.20).
Od Linuksa 2.6.36 używanie tego pliku jest przestarzałe, na korzyść /proc/pid/oom_score_adj, a
usunięto go w Linuksie 3.7.
ZOBACZ TAKŻE
proc(5), proc_pid_oom_score(5)
TŁUMACZENIE
Tłumaczenie niniejszej strony podręcznika: Przemek Borys <pborys@dione.ids.pl>, Robert Luberda
<robert@debian.org> i Michał Kułach <michal.kulach@gmail.com>
Niniejsze tłumaczenie jest wolną dokumentacją. Bliższe informacje o warunkach licencji można uzyskać
zapoznając się z GNU General Public License w wersji 3 lub nowszej. Nie przyjmuje się ŻADNEJ
ODPOWIEDZIALNOŚCI.
Błędy w tłumaczeniu strony podręcznika prosimy zgłaszać na adres listy dyskusyjnej manpages-pl-
list@lists.sourceforge.net.
Linux man-pages 6.9.1 2 maja 2024 r. proc_pid_oom_score_adj(5)