Oppgi den nye versjonen av earlyoom 1.4, et verktøy for å unngå krasj på grunn av mangel på minne

tidlig morgen

I begynnelsen av året vi snakker her på bloggen om Earlyoom-verktøyet, som, etter en diskusjon av Fedora-utviklerne, ble akseptert for å bruke dette verktøyet i Fedora 32 som en bakgrunnsprosess, som de har til hensikt å forbedre systemets respons på mangel på minne og dermed unngå krasj.

Nå flere uker senere og Etter åtte måneders utvikling ble lanseringen av den nye versjonen av Earlyoom 1.4 kunngjort.

For de som ikke er kjent med prosjektet, bør de vite det dette er en bakgrunnstråd som regelmessig sjekker hvor mye minne som er tilgjengelig (MemAvailable, SwapFree) og prøver å svare på en tilstand som er utenfor minnet på et tidlig stadium. Prosjektkoden er skrevet i C og distribuert under MIT-lisensen.

tidlig rom
Relatert artikkel:
Earlyoom tråden som skal inkluderes i Fedora 32 for å unngå minnekrasj

Hvis mengden tilgjengelig minne er mindre enn den angitte verdien, earlyoom vil ende med makt (ved å sende SIGTERM eller SIGKILL) prosessen med prosessen som bruker mest minne (som har den høyeste verdien / proc / * / oom_score), uten at systemtilstand tømmer systembuffere og forstyrrer byttearbeidsdriveren (OOM (out of memory)) i kjernebrann når lav tilstand minnet allerede har nådd kritiske verdier, og generelt reagerer systemet ikke lenger på brukerhandlinger).

Earlyoom støtter sending av tvangsmessige prosessvarsler til skrivebordet (ved å sende varsler), og gir også muligheten til å definere regler der vanlige uttrykk kan brukes til å spesifisere navnene på prosesser hvis avslutning foretrekkes ("–foretrekke" -alternativet) eller stopp som bør unngås (–Unngå alternativ).

Hva er nytt i Earlyoom 1.4?

I denne nye versjonen er noen endringer uthevet, hvorav Det er nevnt at jeg jobber med å rengjøre koden og det også på grunn av forsinket lasting av prosessattributtene, logikken med å velge prosesser som skal fullføres økes med 50%.

Foruten det også root privilegium reset ble implementert i stasjonsfilen "systemd earlyoom.service". Denne endringen bryter muligheten for å motta GUI-varsler.

For å aktivere GUI-varsler på nytt, foreslås det å returnere rotrettighetene ved å fjerne kommentaren til linjen «DynamicUser = true".

Selv om deaktivering av rot også gjør det umulig å få informasjon om minneforbruk ved montering / proc i modus hidepid = 1 eller hidepid = 2.

Av de andre endringene som skiller seg ut:

  • UID for den avsluttede prosessen gjenspeiles i registeret, i tillegg til PID og prosessnavnet.
  • Lagt til lysegrå feilsøkingslogg.
  • Hvis mulig ble deklarasjonen av variabler som er lokale for blokkene brukt.
  • Konfigurasjon lagt til PATH_LEN for å overstyre verdien av den innebygde bufferstørrelsen i koden.
  • Mulighet for å starte cppsjekk hvis tilgjengelig.
  • Ytelsestest "make bench" lagt til.
  • Utvidet testpakke (lag test).

Endelig hvis du vil vite mer om det Om denne utgivelsen kan du sjekke detaljene i følgende lenke. 

Hvordan installere earlyoom på Linux?

For de som er interessert i å kunne prøve dette verktøyet, kan de gjøre det ved å følge instruksjonene vi deler nedenfor.

Earlyoom ligger i repositoriene til noen av distribusjonene av populær Linux, så, når det gjelder Debian, Ubuntu og eventuelle derivater av disse kan installasjonen gjøres med følgende kommando:

sudo apt install earlyoom

Når dette er gjort, må tjenesten nå aktiveres med kommandoen:

sudo systemctl enable earlyoom

Og det begynner med:

sudo systemctl start earlyoom

I tilfelle av Fedora og RHEL 8 med EPEL, kan den installeres med følgende kommando:

sudo dnf install earlyoom

Og tjenesten aktiveres med:

sudo systemctl enable --now earlyoom

Endelig, i tilfelle Arch Linux eller andre avledede av dette, installasjonen gjøres med følgende kommando:

sudo pacman -S earlyoom

Og tjenesten aktiveres med:

sudo systemctl enable --now earlyoom

For alle andre Linux-distribusjoner, de kan utføre installasjonen ved å kompilere verktøykoden.

For å få tak i koden kan vi gjøre det med følgende kommando:

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

cd earlyoom

Vi fortsetter å kompilere med:

make

Og vi installerer (hvis du har Systemd):

sudo make install

Eller for de som ikke har Systemd:

sudo make install-initscript

Og for å bruke tjenesten, gjør du det med:

./earlyoom


Legg igjen kommentaren

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Kontroller SPAM, kommentaradministrasjon.
  3. Legitimering: Ditt samtykke
  4. Kommunikasjon av dataene: Dataene vil ikke bli kommunisert til tredjeparter bortsett fra ved juridisk forpliktelse.
  5. Datalagring: Database vert for Occentus Networks (EU)
  6. Rettigheter: Når som helst kan du begrense, gjenopprette og slette informasjonen din.

  1.   infogon sa

    En detalj av tittelen: «minnetap»

    1.    David naranjo sa

      Takk for observasjonen. Jubel! 🙂

  2.   linuxmanr4 sa

    Jeg tror det er en detalj med installasjonen i Manjaro (avledet fra Arch). Jeg fant ikke pakken i de normale depotene.

    Så installasjonen skal skje gjennom deg.

    yaourt earlyoom

    Hilsener!

    1.    David naranjo sa

      I Arch er det inne i lokalsamfunnet som må aktiveres i pacman.conf. På samme måte som du nevner er det også i AUR.

      Takk for observasjonen 😀

  3.   Fran Pavon sa

    Hei, jeg vil at denne tjenesten skal starte i MXLinux hver gang jeg slår på datamaskinen uten å måtte sette kommandoen i terminalen, hvordan kan jeg gjøre det?