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.
Č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
Podrobnost naslova: «izguba spomina»
Hvala za opazovanje. S spoštovanjem! 🙂
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!
V Archu je znotraj repozitorija skupnosti, ki mora biti omogočen v pacman.conf. Tako kot omenjate, je tudi v AUR.
Hvala za opazovanje 😀
Ž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?