Muze nekdo vysvetlit, jak muze vyber stranky k odswapovani zmenit cetnost OOM killeru? Pokud nemam pamet, tak neni co vyhazovat. Pokud je v pameti nepotrebnej cache buffer, tak taky ne.
Pokud nemate pamet ani swap, tak vas OOM nemine pri potreba naalokovat dalsi bloky, takze je zcela jedno kdo bude zastrelen, ve jmenu obecneho dobra (tedy dokud to neni init, ovsem).
No zas tak jednoduché to není. OOM se aktivuje i když ještě swap je, protože LRU třeba už neví, co zahodit, kdežto MGLRU ještě umí víc věcí vyhodit. Každopádně OOM na tom MGLRU hodně závisí.
Z Documentation/vm/multigen_lru.rst:
Recipes
=======
Personal computers
:Thrashing prevention: Write ``N`` to
``/sys/kernel/mm/lru_gen/min_ttl_ms`` to prevent the working set of
``N`` milliseconds from getting evicted. The OOM killer is invoked if
this working set can't be kept in memory. Based on the average human
detectable lag (~100ms), ``N=1000`` usually eliminates intolerable
lags due to thrashing. Larger values like ``N=3000`` make lags less
noticeable at the cost of more OOM kills.