Efter otte måneders udvikling er udgivet baggrundsprocessen , som regelmæssigt kontrollerer hvor meget ledig hukommelse der er (MemAvailable, SwapFree) og forsøger at reagere tidligt på situationer hvor hukommelsen er utilstrækkelig. Projektkoden er skrevet i C og er under MIT licens.
Hvis mængden af tilgængelig hukommelse er mindre end et fastsat niveau, vil earlyoom tvinge (ved at sende SIGTERM eller SIGKILL) til at afslutte den proces, der forbruger mest hukommelse (har den højeste værdi i /proc/*/oom_score), uden at bringe systemet til en tilstand, hvor systembufferne rengøres og swapningen hindres (OOM-håndtereren (Out Of Memory) i kernen aktiveres, når hukommelsesmangel allerede har nået kritiske niveauer, og normalt på dette tidspunkt reagerer systemet ikke længere på brugerhandlinger).
Earlyoom understøtter sending af meddelelser om tvingede afsluttede processer til skrivebordet (ved hjælp af notify-send) samt muligheden for at definere regler, hvor man med regulære udtryk kan angive procesnavne, hvis afslutning er ønskelig (mulighed "—prefer") eller hvis stop bør undgås (mulighed "—avoid").
Vigtige i den nye udgivelse:
- På grund af er logikken til udvælgelse af processer til afslutning blevet accelereret med 50%;
- Der er tilføjet logføring af UID for den afsluttede proces, udover PID og procesnavn;
- Der er tilføjet lys grå farvekodning til fejllogs;
- Kode er blevet ryddet op;
- Hvor det er muligt er deklarationen af lokale variabler blevet brugt i blokke;
- Der er tilføjet en indstilling for PATH_LEN til at erstatte den kodeindbyggede værdi for bufferstørrelse;
- Kørsel af cppcheck er sikret, hvis det er tilgængeligt;
- Der er tilføjet en ydelsestest 'make bench';
- Sættet af tests er udvidet (make test);
- Der er implementeret en nedsættelse af root-rettigheder i unit-filen systemd earlyoom.service. Denne ændring muligheder for GUI-notifikationer. For at aktivere GUI-notifikationer anbefales det at genoprette root-rettigheder ved at udpane 'DynamicUser=true'. Deaktivering af root gør også det umuligt at få oplysninger om hukommelsesforbruget, når /proc er monteret i hidepid=1 eller hidepid=2 tilstand.
Kilde: opennet.ru
