PĂ€rast kaheksa kuu arendustööd taustaprotsessi kĂ€ivitamine , mis kontrollib perioodiliselt saadaval oleva mĂ€lu mahtu (MemAvailable, SwapFree) ja pĂŒĂŒab reageerida mĂ€lu nappuse teke varases etapis. Projekti kood on kirjutatud keeles C ja on litsentsitud MIT litsentsi alusel.
Kui saadaval oleva mĂ€lu maht on alla mÀÀratud piiri, sunnib earlyoom (SIGTERM vĂ”i SIGKILL saatmise kaudu) lĂ”petama protsessi, mis kasutab kĂ”ige rohkem mĂ€lu (millel on kĂ”rgeim vÀÀrtus /proc/*/oom_score), vĂ€ltides sĂŒsteemi oleku viimist sĂŒsteemsete puhverite tĂŒhjendamisele ja segades swap'i tööd (OOM (Out Of Memory) kĂ€sitleja tuvastab mĂ€lu nappuse hetked vaid siis, kui seisund on juba kriitiliste vÀÀrtusteni jĂ”udnud ja tavaliselt on sel hetkel sĂŒsteem juba kasutaja toimingutele reageerimata).
Earlyoom toetab teavituste saatmist sundkorras lĂ”petatud protsessidest töölauale (kasutades notify-send), samuti annab vĂ”imaluse mÀÀrata reegleid, kus regulaaravaldiste abil saab mÀÀratleda protsesside nimesid, mille lĂ”petamine on eelistatav (valik ââpreferâ) vĂ”i mille peatamisele tuleks vĂ€ltida (valik ââavoidâ).
Peamised uues vÀljaandes:
- TĂ€nu protsesside atribuutide valik kiireneb 50%;
- Lisatud UID logimine lÔpetatavale protsessile, lisaks PID ja protsessi nimele;
- Debug-logi kergehalliga esiletÔstmine;
- Koodi puhastamine on tehtud;
- Mugavuse huvides on kasutatud kohalikke muutujaid plokkides;
- Lisa PATH_LEN seadistus, et asendada koodis kÔvaketta suuruse vÀÀrtust;
- cppcheck'i kÀivitamine, kui see on saadaval;
- Lisatud jÔudluse test "make bench";
- Testide komplekti laiendamine (make test);
- Realiseeritud root privileegide taastamine unit-failis systemd earlyoom.service. See muudatus GUI teavituste vĂ”imalus. GUI teavituste aktiveerimiseks soovitatakse taastada rootĂ”igused, eemaldades "DynamicUser=true" kommenteerimise. Rooti keelamine samuti tĂ”ttu ei ole vĂ”imalik saada teavet mĂ€lu kasutamise kohta, kui /proc on monteeritud hidepid=1 vĂ”i hidepid=2 reĆŸiimis.
Allikas: opennet.ru
