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.
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
Un detaliu al titlului: «pierderea memoriei»
Mulțumesc pentru observație. Noroc! 🙂
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!
Î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 😀
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?