PĂ€rast kaheksa kuu arendustööd taustprotsessi vĂ€ljaanne , mis kontrollib perioodiliselt saadaval olevat mĂ€lu (MemAvailable, SwapFree) ja pĂŒĂŒab varakult reageerida mĂ€lupuudusele. Projekti kood on kirjutatud C keeles ja on MIT litsentsi all.
Kui saadaval oleva mĂ€lu maht on madalam kui mÀÀratud vÀÀrtus, lĂ”petab earlyoom sundivalt (saates SIGTERM vĂ”i SIGKILL) protsessi, mis tarbib kĂ”ige rohkem mĂ€lu (omab kĂ”ige kĂ”rgemat vÀÀrtust /proc/*/oom_score), viies sĂŒsteemi seisundi puhastamise sĂŒsteemi buffritest ja hĂ€irides swapimise tööd (OOM (Out Of Memory) kĂ€sitleja kernelis aktiveerub, kui mĂ€lu puuduse seisund on juba saavutanud kriitilise taseme ning tavaliselt sel hetkel ei reageeri sĂŒsteem enam kasutaja tegevustele).
Earlyoom toetab sundivalt lĂ”petatud protsesside mĂ€rguannete saatmist töötasandile (kasutades notify-send) ning pakub vĂ”imalust mÀÀrata reegleid, kus regulaarsete vĂ€ljendite abil saab mÀÀrata protsesside nimed, mille lĂ”petamine on soovitatav (valik ââpreferâ) vĂ”i mille lĂ”petamist tuleks vĂ€ltida (valik ââavoidâ).
Peamised uus vÀljaanne:
- TÀnu protsesside atribuutidele on protsesside valiku loogika lÔpetamiseks kiirus 50% kiirem;
- Logisse on lisatud lÔpetatava protsessi UID, lisaks PID ja protsessi nimele;
- Debug-logi on esile tÔstetud heleda halli vÀrviga;
- Koodi puhastamine on tehtud;
- Muugud on jubahti kohalikele muutujatele blokkides;
- Vaikesuuruse vahetamiseks on lisatud PATH_LEN konfiguratsioon;
- cppcheck'i kÀivitamine on tagatud, kui see on olemas;
- Lisatud on jÔudluse test 'make bench';
- Testide komplekti on laiendatud (make test);
- On teostatud root-privileegide tĂŒhistamine systemd unit-failis earlyoom.service. See muudatus kĂ€tkeb GUI teavituste vĂ”imalust. GUI teavituste lubamiseks soovitatakse taastada root-Ă”igused, kommenteerides 'DynamicUser=true' vĂ€lja. Root'i keelamine toob samuti endaga kaasa hetke, mil ei ole vĂ”imalik saada teavet mĂ€lu kasutamise kohta, kui /proc on mountitud hidepid=1 vĂ”i hidepid=2 reĆŸiimis.
Allikas: opennet.ru
