Po osmi měsících vývoje vydání background procesu , který pravidelně kontroluje objem dostupné paměti (MemAvailable, SwapFree) a snaží se včas reagovat na vznikající nedostatek paměti. Kód projektu je napsán v jazyce C a pod licenci MIT.
Pokud objem dostupné paměti klesne pod stanovenou hodnotu, earlyoom násilně (odesláním SIGTERM nebo SIGKILL) ukončí proces, který má nejvyšší spotřebu paměti (má nejvyšší hodnotu /proc/*/oom_score), aniž by stav systému dospěl do bodu vymazání systémových bufferů a překážel swapování (handler OOM (Out Of Memory) v jádře se aktivuje, když stav nedostatku paměti již dosáhl kritických hodnot a obvykle v tuto chvíli systém již nereaguje na akce uživatele).
Earlyoom podporuje odesílání oznámení o násilně ukončených procesech na pracovní plochu (pomocí notify-send), a také poskytuje možnost definování pravidel, ve kterých lze pomocí regulárních výrazů určit názvy procesů, jejichž ukončení je preferováno (možnost „—prefer“) nebo jejichž zastavení by se mělo vyhnout (možnost „—avoid“).
Hlavní v novém vydání:
- Díky atributům procesů je logika výběru procesů pro ukončení zrychlena o 50%;
- Zajištěno je zaznamenání UID ukončovaného procesu kromě PID a jména procesu;
- Přidáno zvýraznění ladicího logu světle šedou barvou;
- Bylo provedeno čištění kódu;
- Pokud to bylo možné, použito je deklarace lokálních proměnných pro bloky;
- Přidána možnost nastavit PATH_LEN pro náhradu pevně zadané hodnoty velikosti buffera;
- Zajištěno spuštění cppcheck, pokud je k dispozici;
- Přidán výkonový test „make bench“;
- Rozšířen soubor testů (make test);
- Realizováno je snížení privilegii root v unit souboru systemd earlyoom.service. Tato změna možnost GUI oznámení. Pro zapnutí GUI oznámení se doporučuje vrátit práva root tím, že se odkomentuje „DynamicUser=true“. Odebrání root také znemožňuje získání informací o spotřebě paměti při připojení /proc v režimu hidepid=1 nebo hidepid=2.
Zdroj: opennet.ru
