Navedite novo različico earlyoom 1.4, pripomočka za preprečevanje zrušitev zaradi pomanjkanja pomnilnika

zgodaj

Na začetku leta tukaj v blogu govorimo o pripomočku Earlyoom, ki je bil po razpravi razvijalcev Fedore sprejet za uporabo tega pripomočka v Fedori 32 kot proces v ozadju, s katerim nameravajo izboljšati odziv sistema na pomanjkanje pomnilnika in se s tem izogniti zrušitvam.

Zdaj nekaj tednov kasneje in Po osmih mesecih razvoja je bila napovedana izdaja nove različice Earlyoom 1.4.

Tisti, ki projekta ne poznajo, bi morali to vedeti to je nit ozadja, ki občasno preveri količino razpoložljivega pomnilnika (MemAvailable, SwapFree) in se že v zgodnji fazi poskuša odzvati na stanje brez pomnilnika. Koda projekta je napisana v jeziku C in se distribuira pod licenco MIT.

Zgodnji
Povezani članek:
Zgodaj z nitjo vključite Fedoro 32, da se izognete zrušitvam pomnilnika

Če je količina razpoložljivega pomnilnika manjša od določene vrednosti, zgodaj se bo končal na silo (s pošiljanjem SIGTERM ali SIGKILL) proces, ki porabi največ pomnilnika (ki ima najvišjo vrednost / proc / * / oom_score), brez brisanja sistemskih vmesnih pomnilnikov stanja sistema in motenja izmenjevalnega dela (gonilnik OOM (brez pomnilnika) v požarih jedra v nizkem stanju pomnilnik je že dosegel kritične vrednosti in na splošno se sistem v tem trenutku ne odziva več na dejanja uporabnika).

Earlyoom podpira pošiljanje obvestil o prisilnem postopku na namizje (s pošiljanjem obvestil) in omogoča tudi določanje pravil, v katerih se lahko z regularnimi izrazi določijo imena procesov, katerih zaključek je najprimernejši (možnost "–prefer") ali zaustavitve, ki se jim je treba izogniti (–Izogiba se možnosti).

Kaj je novega v Earlyoom 1.4?

V tej novi različici so poudarjene nekatere spremembe Omenjeno je, da delam na čiščenju kode in to tudi zaradi zapoznelega nalaganja procesnih atributov, logika izbire procesov za dokončanje se pospeši za 50%.

Poleg tega tudi je bila izvedena ponastavitev korenskega privilegija v datoteki pogona "systemd ranoom.service". Ta sprememba prekine možnost prejemanja obvestil GUI.

Če želite znova omogočiti obvestila vmesnika GUI, se predlaga vrnitev korenskih pravic, tako da ne komentirate vrstice «DynamicUser = true".

Čeprav onemogočanje root tudi onemogoča pridobivanje informacij o porabi pomnilnika pri namestitvi / proc v načinu hidepid = 1 ali hidepid = 2.

Od ostalih sprememb ki izstopajo:

  • UID zaključenega postopka se poleg PID in imena postopka odraža v registru.
  • Dodano svetlo sivo dnevniško odpravljanje napak.
  • Če je bilo mogoče, je bila uporabljena deklaracija spremenljivk, ki so lokalne blokom.
  • Konfiguracija dodana PAT__EN da v kodi preglasi vrednost velikosti vdelanega medpomnilnika.
  • Možnost zagona cppcheck če je na voljo.
  • Dodan test zmogljivosti "make bench".
  • Razširjeni testni paket (naredite test).

Končno če želite vedeti več o tem O tej izdaji si lahko podrobnosti ogledate v naslednja povezava. 

Kako namestiti earlyoom v Linux?

Za tiste, ki jih zanima preizkus te pripomočke, lahko to storijo tako, da upoštevajo spodnja navodila.

Earlyoom se nahaja znotraj odlagališč nekaterih distribucij priljubljenega Linuxa, torej, v primeru Debiana, Ubuntuja in kakršnih koli izpeljank od tega lahko namestitev izvedete z naslednjim ukazom:

sudo apt install earlyoom

Ko je to storjeno, mora biti storitev zdaj omogočena z ukazom:

sudo systemctl enable earlyoom

In začne se z:

sudo systemctl start earlyoom

Za primer Fedora in RHEL 8 z EPEL, lahko ga namestite z naslednjim ukazom:

sudo dnf install earlyoom

In storitev se aktivira z:

sudo systemctl enable --now earlyoom

Končno, v primeru Arch Linuxa ali katerega koli drugega izpeljanka tega, namestitev se izvede z naslednjim ukazom:

sudo pacman -S earlyoom

In storitev se aktivira z:

sudo systemctl enable --now earlyoom

Za vse druge distribucije Linuxa, namestitev lahko izvedejo s sestavljanjem uporabniške kode.

Za pridobitev kode lahko to storimo z naslednjim ukazom:

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

cd earlyoom

Nadaljujemo z zbiranjem:

make

In namestimo (če imate Systemd):

sudo make install

Ali za tiste, ki nimajo sistema Systemd:

sudo make install-initscript

In če želite uporabiti storitev, s katero to počnete:

./earlyoom


Pustite svoj komentar

Vaš e-naslov ne bo objavljen. Obvezna polja so označena z *

*

*

  1. Za podatke odgovoren: Miguel Ángel Gatón
  2. Namen podatkov: Nadzor neželene pošte, upravljanje komentarjev.
  3. Legitimacija: Vaše soglasje
  4. Sporočanje podatkov: Podatki se ne bodo posredovali tretjim osebam, razen po zakonski obveznosti.
  5. Shranjevanje podatkov: Zbirka podatkov, ki jo gosti Occentus Networks (EU)
  6. Pravice: Kadar koli lahko omejite, obnovite in izbrišete svoje podatke.

      infogon je dejal

    Podrobnost naslova: «izguba spomina»

         David naranjo je dejal

      Hvala za opazovanje. S spoštovanjem! 🙂

      linuxmanr4 je dejal

    Mislim, da obstaja podrobnost o namestitvi v Manjaro (izpeljana iz Arch). Paketa nisem našel v običajnih skladiščih.

    Namestitev naj bo torej prek vašega leta.

    yaourt earlyoom

    Pozdravljeni!

         David naranjo je dejal

      V Archu je znotraj repozitorija skupnosti, ki mora biti omogočen v pacman.conf. Tako kot omenjate, je tudi v AUR.

      Hvala za opazovanje 😀

      Fran Pavon je dejal

    Živjo, želim, da se ta storitev zažene v MXLinuxu vsakič, ko vklopim računalnik, ne da bi moral ukaz vstaviti v terminal, kako lahko to storim?