Enumerați noua versiune a earlyoom 1.4, un utilitar pentru a evita blocările din cauza lipsei de memorie

camera timpurie

La începutul anului vorbim aici pe blog despre utilitarul Earlyoom, care, după o discuție a dezvoltatorilor Fedora, a fost acceptat pentru utilizarea acestui utilitar în Fedora 32 ca proces de fundal, cu care intenționează să îmbunătățească răspunsul sistemului la lipsa de memorie și astfel să evite blocările.

Acum câteva săptămâni mai târziu și După opt luni de dezvoltare, a fost anunțată lansarea noii versiuni a Earlyoom 1.4.

Pentru cei care nu sunt familiarizați cu proiectul, ar trebui să știe asta acesta este un fir de fundal care verifică periodic cantitatea de memorie disponibilă (MemAvailable, SwapFree) și încearcă să răspundă la o stare de memorie într-un stadiu incipient. Codul proiectului este scris în C și distribuit sub licența MIT.

Devreme
Articol asociat:
Earlyoom firul pentru a include în Fedora 32 pentru a evita blocarea memoriei

Dacă cantitatea de memorie disponibilă este mai mică decât valoarea specificată, earlyoom se va termina cu forța (prin trimiterea SIGTERM sau SIGKILL) procesul procesului care consumă cea mai mare memorie (care are cea mai mare valoare / proc / * / oom_score), fără starea sistemului de eliminare a tampoanelor sistemului și interferarea cu driverul de lucru swap (OOM (fără memorie) în kernel se declanșează când starea este scăzută memoria a atins deja valori critice și, în general, în acest moment sistemul nu mai răspunde la acțiunile utilizatorului).

Earlyoom acceptă trimiterea notificărilor de proces forțat pe desktop (prin trimiterea de notificări) și oferă, de asemenea, posibilitatea de a defini reguli în care expresiile regulate pot fi utilizate pentru a specifica numele proceselor a căror terminare este preferată (opțiunea „–prefer”) sau opririle care ar trebui evitate (–Opțiunea evitată).

Ce este nou în Earlyoom 1.4?

În această nouă versiune sunt evidențiate unele modificări, dintre care Se menționează că lucrez la curățarea codului și, de asemenea, din cauza încărcării întârziate a atributelor procesului, logica selectării proceselor de finalizat este accelerată cu 50%.

Pe lângă asta, de asemenea resetarea privilegiului root a fost implementată în fișierul unitate "systemd earlyoom.service". Această modificare întrerupe capacitatea de a primi notificări GUI.

Pentru a reactiva notificările GUI, se propune returnarea drepturilor de rădăcină necomentând linia «DynamicUser = adevărat“.

Deși dezactivarea root face imposibilă obținerea de informații despre consumul de memorie la montare / proc în regim hidepid = 1 sau hidepid = 2.

Dintre celelalte schimbări care ies în evidență:

  • UID-ul procesului încheiat se reflectă în registru, pe lângă PID și numele procesului.
  • S-a adăugat evidențierea jurnalului de depanare gri deschis.
  • Dacă este posibil, a fost utilizată declarația variabilelor locale pentru blocuri.
  • Configurare adăugată PATH_LEN pentru a suprascrie valoarea dimensiunii tamponului încorporat în cod.
  • Posibilitate de pornire cppcheck daca este disponibil.
  • Test de performanță „face bancă” adăugat.
  • Suită de testare extinsă (faceți testul).

În cele din urmă dacă vrei să afli mai multe despre asta Despre această versiune, puteți verifica detaliile în următorul link. 

Cum se instalează earlyoom pe Linux?

Pentru cei care sunt interesați să poată încerca acest utilitar, pot face acest lucru urmând instrucțiunile pe care le împărtășim mai jos.

Earlyoom se află în depozitele unor distribuții de popular Linux, deci, în cazul Debian, Ubuntu și al oricăror derivate dintre acestea, instalarea se poate face cu următoarea comandă:

sudo apt install earlyoom

Odată ce acest lucru este făcut, serviciul trebuie acum activat cu comanda:

sudo systemctl enable earlyoom

Și începe cu:

sudo systemctl start earlyoom

În cazul Fedora și RHEL 8 cu EPEL, poate fi instalat cu următoarea comandă:

sudo dnf install earlyoom

Și serviciul este activat cu:

sudo systemctl enable --now earlyoom

În cele din urmă, în cazul Arch Linux sau orice alt derivat al acestuia, instalarea se face cu următoarea comandă:

sudo pacman -S earlyoom

Și serviciul este activat cu:

sudo systemctl enable --now earlyoom

Pentru toate celelalte distribuții Linux, pot efectua instalarea prin compilarea codului utilitar.

Pentru a obține codul o putem face cu următoarea comandă:

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

cd earlyoom

Procedăm la compilarea cu:

make

Și instalăm (dacă aveți Systemd):

sudo make install

Sau pentru cei care nu au Systemd:

sudo make install-initscript

Și pentru a utiliza serviciul, îl faceți cu:

./earlyoom


Lasă comentariul tău

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *

*

*

  1. Responsabil pentru date: Miguel Ángel Gatón
  2. Scopul datelor: Control SPAM, gestionarea comentariilor.
  3. Legitimare: consimțământul dvs.
  4. Comunicarea datelor: datele nu vor fi comunicate terților decât prin obligație legală.
  5. Stocarea datelor: bază de date găzduită de Occentus Networks (UE)
  6. Drepturi: în orice moment vă puteți limita, recupera și șterge informațiile.

  1.   infogon el a spus

    Un detaliu al titlului: «pierderea memoriei»

    1.    David naranjo el a spus

      Mulțumesc pentru observație. Noroc! 🙂

  2.   linuxmanr4 el a spus

    Cred că există un detaliu cu instalarea din Manjaro (derivată din Arch). Nu am găsit pachetul în depozitele normale.

    Deci instalarea ar trebui să se facă prin yaourt.

    yaourt earlyoom

    Salutări!

    1.    David naranjo el a spus

      În Arch, se află în depozitul comunității care trebuie activat în pacman.conf. În același mod în care menționezi, este și în AUR.

      Mulțumesc pentru observație 😀

  3.   Fran Pavon el a spus

    Bună ziua, vreau ca acest serviciu să înceapă în MXLinux de fiecare dată când pornesc computerul fără a fi nevoie să pun comanda în terminal, cum o pot face?