Početkom godine ovdje na blogu razgovaramo o uslužnom programu Earlyoom, koja je nakon rasprave Fedorinih programera prihvaćena za upotrebu ovog uslužnog programa u Fedori 32 kao pozadinski proces, s kojim namjeravaju poboljšati odgovor sistema na nedostatak memorije i na taj način izbjeći padove.
Sada nekoliko sedmica kasnije i Nakon osam mjeseci razvoja, najavljeno je izlazak nove verzije Earlyoom 1.4.
Oni koji nisu upoznati s projektom, to bi trebali znati ovo je pozadinska nit koja povremeno provjerava količinu dostupne memorije (MemAvailable, SwapFree) i pokušava odgovoriti na stanje bez memorije u ranoj fazi. Kôd projekta napisan je na C jeziku i distribuiran pod MIT licencom.
Ako je količina dostupne memorije manja od navedene vrijednosti, earlyoom će se završiti silom (slanjem SIGTERM-a ili SIGKILL-a) proces procesa koji troši najviše memorije (koji ima najveću vrijednost / proc / * / oom_score), bez brisanja sistemskih me uspremnika stanja sistema i ometanja swap rada (OOM (bez memorije) pokretački program u kernelu se aktivira u niskom stanju memorija je već dostigla kritične vrijednosti i općenito u ovom trenutku sustav više ne reagira na korisničke akcije).
Earlyoom podržava slanje obavijesti o prisilnom procesu na radnu površinu (slanjem obavijesti), a također pruža mogućnost definiranja pravila u kojima se regularni izrazi mogu koristiti za određivanje imena procesa čiji je završetak preferiran (opcija "–prefer") ili zaustavljanja koja treba izbjegavati (- izbjegavajte opciju).
Što je novo u Earlyoom 1.4?
U ovoj novoj verziji su istaknute neke promjene Spominje se da radim na čišćenju koda i to također zbog odgođenog učitavanja procesnih atributa, logika odabira procesa za dovršavanje ubrzava se za 50%.
Pored toga takođe provedeno je resetiranje root privilegija u datoteci pogona "systemd ranoom.service". Ova promjena prekida mogućnost primanja GUI obavijesti.
Da bi se ponovo omogućilo GUI obavještavanje, predloženo je vraćanje root prava tako što ćete komentirati redak «DynamicUser = true".
Iako onemogućavanje root-a takođe onemogućava dobivanje informacija o potrošnji memorije prilikom montiranja / proc u modu hidepid = 1 ili hidepid = 2.
Od ostalih promjena koji se ističu:
- UID okončanog postupka odražava se u registru, uz PID i ime procesa.
- Dodano svijetlosivo isticanje dnevnika otklanjanja pogrešaka.
- Ako je moguće, korištena je deklaracija varijabli lokalnih za blokove.
- Konfiguracija dodana PATH_LEN za nadjačavanje vrijednosti veličine ugrađenog međuspremnika u kodu.
- Mogućnost starta cppcheck ako je dostupno.
- Dodan je test performansi "make bench".
- Prošireni paket za testiranje (make test).
Konačno ako želite znati više o tome O ovom izdanju detalje možete provjeriti u sljedeći link.
Kako instalirati earlyoom na Linux?
Oni koji su zainteresirani da mogu isprobati ovaj uslužni program, mogu to učiniti slijedeći upute koje dijelimo u nastavku.
Earlyoom se nalazi unutar spremišta nekih distribucija popularnog Linuxa, u slučaju Debiana, Ubuntu-a i bilo kojih derivata od toga se instalacija može izvršiti pomoću sljedeće naredbe:
sudo apt install earlyoom
Nakon što se to učini, usluga sada mora biti omogućena naredbom:
sudo systemctl enable earlyoom
I započinje sa:
sudo systemctl start earlyoom
U slucaju da Fedora i RHEL 8 sa EPEL-om, može se instalirati pomoću sljedeće naredbe:
sudo dnf install earlyoom
A usluga se aktivira sa:
sudo systemctl enable --now earlyoom
Na kraju, u slučaju Arch Linuxa ili bilo kojeg drugog derivata ovoga, instalacija se vrši slijedećom naredbom:
sudo pacman -S earlyoom
A usluga se aktivira sa:
sudo systemctl enable --now earlyoom
Za sve ostale Linux distribucije, oni mogu izvršiti instalaciju sastavljanjem korisničkog koda.
Da bismo dobili kod, možemo to učiniti pomoću sljedeće naredbe:
git clone https://github.com/rfjakob/earlyoom.git
cd earlyoom
Nastavljamo sa kompajliranjem sa:
make
I instaliramo (ako imate Systemd):
sudo make install
Ili za one koji nemaju Systemd:
sudo make install-initscript
A da biste koristili uslugu sa kojom to radite:
./earlyoom
Detalj naslova: «gubitak memorije»
Hvala na posmatranju. Živjeli! 🙂
Mislim da postoji detalj oko instalacije u Manjaro (izvedeno iz Arch). Nisam pronašao paket u normalnim spremištima.
Dakle, instalacija bi trebala biti putem vašeg računa.
yaourt earlyoom
Pozdrav!
U Archu je unutar spremišta zajednice koje mora biti omogućeno u pacman.conf. Na isti način kao što spominjete, to je i u AUR.
Hvala na zapažanju 😀
Pozdrav, želim da se ova usluga pokrene u MXLinux-u svaki put kad pokrenem računar, a da ne moram stavljati naredbu u terminal, kako to mogu učiniti?