Řešení 1:
Ne, algoritmus není tak jednoduchý. Více informací naleznete v:
http://linux-mm.org/OOM_Killer
Pokud chcete sledovat využití paměti, doporučuji spustit příkaz jako:
ps -e -o pid,user,cpu,size,rss,cmd --sort -size,-rss | head
Poskytne vám seznam procesů, které využívají nejvíce paměti (a pravděpodobně způsobují situaci OOM). Odstraňte | head
pokud byste raději zkontrolovali všechny procesy.
Pokud to dáte do cronu, opakujte to každých 5 minut a uložte do souboru. Ponechejte si alespoň několik dní, abyste mohli později zkontrolovat, co se stalo.
Pro kritické služby, jako je ssh, bych v takové situaci doporučil použít monit pro jejich automatické restartování. Pokud k němu nemáte vzdálenou konzolu, může to zachránit před ztrátou přístupu k počítači.
hodně štěstí,
João Miguel Neves
Řešení 2:
Nedávno jsem s tím měl těžké časy, protože proces(y), na které oom-killer šlape, nemusí být nutně ty, které se pokazily. Když jsem se to snažil diagnostikovat, dozvěděl jsem se o jednom z mých nyní oblíbených nástrojů, nahoře.
Tento nástroj je jako top na steroidech. Během předem nastaveného časového intervalu profiluje systémové informace. Poté si jej můžete přehrát, abyste viděli, co se děje. Zvýrazňuje procesy, které jsou z 80 %+ v modré a z 90 %+ v červené. Nejužitečnějším pohledem je tabulka využití paměti, která uvádí, kolik paměti bylo přiděleno za poslední časové období. To mi pomohlo nejvíc.
Fantastický nástroj – nelze o něm říct dost.
na monitoru výkonu