Nakon osam mjeseci razvoja izdanje pozadinskog procesa , koji povremeno provjerava količinu dostupne memorije (MemAvailable, SwapFree) i pokušava na vrijeme reagirati na pojavu nedostatka memorije. Kod projekta napisan je u programskom jeziku C i pod MIT licencom.
Ako je količina dostupne memorije ispod zadane vrijednosti, earlyoom prisilno (slanjem SIGTERM ili SIGKILL) završava proces koji najviše troši memoriju (s najvećom vrijednošću /proc/*/oom_score), ne dovedivši stanje sustava do čišćenja sistemskih bafera i ometanja rada swapanja (OOM (Out Of Memory) upravljač u jezgru se aktivira kada stanje nedostatka memorije već dostigne kritične razine i obično u tom trenutku sustav već ne reagira na korisničke radnje).
Earlyoom podržava slanje obavijesti o prisilno završenim procesima na radnu površinu (pomoću notify-send), kao i pruža mogućnost definiranja pravila, u kojima se pomoću regularnih izraza mogu odrediti imena procesa, čije završavanje je poželjno (opciji „—prefer”) ili čijem zaustavljanju treba izbjegavati (opciji „—avoid”).
Glavne u novom izdanju:
- Zahvaljujući atributima procesa, logika odabira procesa za završavanje ubrzana je za 50%;
- Osigurano je bilježenje UID-a završavanog procesa, uz PID i ime procesa;
- Dodano je osvjetljavanje debug loga svijetlo sivoj boji;
- Očistili smo kod;
- Ako je moguće, korišteno je deklariranje lokalnih varijabli za blokove;
- Dodana je postavka PATH_LEN za zamjenu ugrađene vrijednosti veličine bafera;
- Osiguran je pokretanje cppcheck-a, ukoliko je prisutan;
- Dodano je testiranje performansi „make bench“;
- Proširen je skup testova (make test);
- Implementirano je poništavanje privilegija root u unit datoteci systemd earlyoom.service. Ova promjena omogućava GUI obavijesti. Za uključivanje GUI obavijesti predlaže se vraćanje root prava, ukidanjem komentara kod „DynamicUser=true“. Isključivanje roota također onemogućava pristup informacijama o potrošnji memorije prilikom montiranja /proc u režimu hidepid=1 ili hidepid=2.
Izvor: opennet.ru
