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.
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
En detalje af titlen: «hukommelsestab»
Tak for observationen. Skål! 🙂
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!
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 😀
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?