Skriv en liste over den nye version af earlyoom 1.4, et værktøj til at undgå nedbrud på grund af manglende hukommelse

tidlig morgen

I begyndelsen af ​​året vi taler her på bloggen om Earlyoom-værktøjet, som efter en diskussion af Fedora-udviklerne blev accepteret for at bruge dette værktøj i Fedora 32 som en baggrundsproces, hvormed de agter at forbedre systemets reaktion på manglen på hukommelse og derved undgå nedbrud.

Nu flere uger senere og Efter otte måneders udvikling blev frigivelsen af ​​den nye version af Earlyoom 1.4 annonceret.

For dem, der ikke er bekendt med projektet, skal de vide det dette er en baggrundstråd, der regelmæssigt kontrollerer mængden af ​​tilgængelig hukommelse (MemAvailable, SwapFree) og forsøger at reagere på en tilstand uden hukommelse på et tidligt tidspunkt. Projektkoden er skrevet i C og distribueret under MIT-licensen.

tidligt værelse
relateret artikel:
Earlyoom tråden til at medtage i Fedora 32 for at undgå ud af hukommelsesnedbrud

Hvis mængden af ​​ledig hukommelse er mindre end den angivne værdi, earlyoom slutter med magt (ved at sende SIGTERM eller SIGKILL) processen med den proces, der bruger mest hukommelse (som har den højeste værdi / proc / * / oom_score) uden systemtilstand, der rydder systembuffere og forstyrrer swap-arbejdsdriveren (OOM (ud af hukommelse)) i kerneudløsninger, når hukommelse med lav tilstand allerede har nået kritiske værdier, og generelt på dette punkt, systemet reagerer ikke længere på brugerhandlinger).

Earlyoom understøtter afsendelse af tvungne procesmeddelelser til skrivebordet (ved at sende underretninger) og giver også mulighed for at definere regler, hvor regulære udtryk kan bruges til at specificere navnene på processer, hvis afslutning foretrækkes ("–foretrækker" -indstillingen) eller stop, der skal undgås (- undgå mulighed).

Hvad er nyt i Earlyoom 1.4?

I denne nye version fremhæves nogle ændringer, hvoraf Det nævnes, at jeg arbejder på at rengøre koden og det også på grund af forsinket indlæsning af procesattributterne logikken med at vælge processer, der skal gennemføres, øges med 50%.

Udover det også root-rettighedsnulstilling blev implementeret i drevfilen "systemd earlyoom.service". Denne ændring bryder muligheden for at modtage GUI-meddelelser.

For at genaktivere GUI-meddelelser foreslås det at returnere rodrettigheder ved at fjerne kommentar til linjen «DynamicUser = sand".

Selvom deaktivering af root også gør det umuligt at få oplysninger om hukommelsesforbrug ved montering / proc i tilstand hidepid = 1 eller hidepid = 2.

Af de andre ændringer der skiller sig ud:

  • UID for den afsluttede proces afspejles i registreringsdatabasen ud over PID og navnet på processen.
  • Tilføjet lys grå debug log fremhævning.
  • Hvis det var muligt, blev deklarationen af ​​variabler, der var lokale i forhold til blokkene, brugt.
  • Konfiguration tilføjet PATH_LEN for at tilsidesætte værdien af ​​den indlejrede bufferstørrelse i koden.
  • Mulighed for at starte cppcheck hvis muligt.
  • Performance test "make bench" tilføjet.
  • Udvidet testpakke (lav test).

Endelig hvis du vil vide mere om det Om denne udgivelse kan du kontrollere detaljerne i følgende link. 

Hvordan installeres earlyoom på Linux?

For dem, der er interesserede i at kunne prøve dette værktøj, kan de gøre det ved at følge instruktionerne, som vi deler nedenfor.

Earlyoom er placeret i arkiverne for nogle af distributionerne af populær Linux, så i tilfælde af Debian, Ubuntu og eventuelle derivater af disse kan installationen udføres med følgende kommando:

sudo apt install earlyoom

Når dette er gjort, skal tjenesten nu aktiveres med kommandoen:

sudo systemctl enable earlyoom

Og det starter med:

sudo systemctl start earlyoom

I tilfælde af Fedora og RHEL 8 med EPEL, kan det installeres med følgende kommando:

sudo dnf install earlyoom

Og tjenesten aktiveres med:

sudo systemctl enable --now earlyoom

Endelig i tilfælde af Arch Linux eller andre afledte af dette, installationen udføres med følgende kommando:

sudo pacman -S earlyoom

Og tjenesten aktiveres med:

sudo systemctl enable --now earlyoom

For alle andre Linux-distributioner de kan udføre installationen ved at kompilere hjælpekoden.

For at få koden kan vi gøre det med følgende kommando:

git clone https://github.com/rfjakob/earlyoom.git

cd earlyoom

Vi fortsætter med at kompilere med:

make

Og vi installerer (hvis du har Systemd):

sudo make install

Eller for dem, der ikke har Systemd:

sudo make install-initscript

Og for at bruge den service, gør du det med:

./earlyoom


Efterlad din kommentar

Din e-mailadresse vil ikke blive offentliggjort. Obligatoriske felter er markeret med *

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Control SPAM, management af kommentarer.
  3. Legitimering: Dit samtykke
  4. Kommunikation af dataene: Dataene vil ikke blive kommunikeret til tredjemand, undtagen ved juridisk forpligtelse.
  5. Datalagring: Database hostet af Occentus Networks (EU)
  6. Rettigheder: Du kan til enhver tid begrænse, gendanne og slette dine oplysninger.

  1.   infogon sagde han

    En detalje af titlen: «hukommelsestab»

    1.    David naranjo sagde han

      Tak for observationen. Skål! 🙂

  2.   linuxmanr4 sagde han

    Jeg tror, ​​der er en detalje med installationen i Manjaro (afledt af Arch). Jeg fandt ikke pakken i de normale arkiver.

    Så installationen skal ske gennem dit hjem.

    yaourt earlyoom

    Hilsner!

    1.    David naranjo sagde han

      I Arch er det inde i community-arkivet, som skal aktiveres i pacman.conf. På samme måde som du nævner, er det også i AUR.

      Tak for observationen 😀

  3.   Fran Pavon sagde han

    Hej, jeg vil have denne service til at starte i MXLinux hver gang jeg starter computeren uden at skulle sætte kommandoen i terminalen, hvordan kan jeg gøre det?