table of contents
CHOOM(1) | Polecenia użytkownika | CHOOM(1) |
NAZWA¶
choom - wyświetla i zmienia punktację OOM-killera.
choom -p PID
choom -p PID -n liczba
choom -n liczba [--] polecenie [argument ...]
OPIS¶
Polecenie choom wyświetla i zmienia punktację OOM-killera (ang. Out-Of-Memory - sytuacja braku pamięci).
OPCJE¶
-p, --pid pid
-n, --adjust wartość
-h, --help
-V, --version
UWAGI¶
Jądro Linux używa heurystyki zwanej "badness" (zło lub niegodziwość) do wyboru procesu, który zostanie zabity w przypadku wystąpienia 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.
Istnieje dodatkowy czynnik w wyniku badness: pamięć bieżąca i użycie pamięci wymiany jest dyskontowane o 3% w przypadku procesów roota.
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. 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.
Zmieniana wartość punktacji jest dodawana do wyniku badness przed wyznaczeniem zadania do zabicia. Prawidłowy zakres wartości wynosi od -1000 do +1000. Pozwala to na wpływanie na OOM-killera z przestrzeni użytkownika sięgającego od preferowania danego zadania w każdym wypadku, do zupełnego pomijania go. Najniższa możliwa wartość, -1000 oznacza zupełne wyłączenie OOM-killera dla danego zadania, ponieważ otrzyma ono zawsze wynik badness wynoszący 0.
Ustawienie wartości 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 oznacza mniej więcej, że 50% dozwolonej pamięci zadania nie będzie się liczyło na poczet opisywanego wyniku.
AUTORZY¶
Karel Zak <kzak@redhat.com>
ZOBACZ TAKŻE¶
ZGŁASZANIE BŁĘDÓW¶
Problemy należy zgłaszać w systemie śledzenia błędów <https://github.com/util-linux/util-linux/issues>.
DOSTĘPNOŚĆ¶
Polecenie choom jest częścią pakietu util-linux, który można pobrać ze strony Archiwum jądra Linux <https://www.kernel.org/pub/linux/utils/util-linux/>.
2025-09-24 | util-linux 2.41.2 |