Zoznam novej verzie earlyoom 1.4, nástroja, ktorý zabráni zrúteniu z dôvodu nedostatku pamäte

skoro ráno

Na začiatku roka hovoríme tu na blogu o utilite Earlyoom, ktorý bol po diskusii vývojárov Fedory prijatý na použitie tohto pomocného programu vo Fedore 32 ako procesu na pozadí, pomocou ktorého chcú vylepšiť reakciu systému na nedostatok pamäte a zabrániť tak zrúteniu.

Teraz o niekoľko týždňov neskôr a Po ôsmich mesiacoch vývoja bolo oznámené vydanie novej verzie Earlyoom 1.4.

Pre tých, ktorí tento projekt nepoznajú, by to mali vedieť toto je vlákno na pozadí, ktoré pravidelne kontroluje množstvo dostupnej pamäte (MemAvailable, SwapFree) a snaží sa reagovať na stav nedostatku pamäte v počiatočnom štádiu. Kód projektu je napísaný v jazyku C a distribuovaný pod licenciou MIT.

skorá izba
Súvisiaci článok:
Predbežne označte vlákno, ktoré chcete zahrnúť do Fedory 32, aby ste predišli zlyhaniam pamäte

Ak je množstvo dostupnej pamäte menšie než zadaná hodnota, Earlyoom sa skončí násilím (zaslaním SIGTERM alebo SIGKILL) proces procesu, ktorý spotrebuje najviac pamäte (ktorý má najvyššiu hodnotu / proc / * / oom_score), bez vyrovnávania systémových stavov systémových vyrovnávacích pamätí a zásahu do swapovej práce (ovládač OOM (nedostatok pamäte) v jadre, keď je stav nízky) pamäť už dosiahla kritické hodnoty a systém v tomto okamihu už spravidla nereaguje na akcie používateľa).

Earlyoom podporuje zasielanie vynútených oznámení o procese na plochu (zasielaním notifikácií) a tiež poskytuje možnosť definovať pravidlá, pomocou ktorých možno regulárnymi výrazmi určiť názvy procesov, ktorých ukončenie je preferované (možnosť „–prefer“) alebo zastávky, ktorým by sa malo zabrániť (–Vyhnite sa možnosti).

Čo je nové v Earlyoom 1.4?

V tejto novej verzii sú zvýraznené niektoré zmeny Spomína sa, že pracujem na vyčistení kódu a to aj z dôvodu oneskoreného načítania atribútov procesu, logika výberu procesov na dokončenie je zrýchlená o 50%.

Okrem toho tiež bol implementovaný reset oprávnení root v súbore jednotky “systemd earlyoom.service". Táto zmena porušuje schopnosť prijímať oznámenia GUI.

Ak chcete znova povoliť upozornenia grafického používateľského rozhrania, navrhuje sa vrátiť koreňové práva odznačením riadku «DynamicUser = true".

Aj keď vypnutie root tiež znemožňuje získať informácie o spotrebe pamäte pri pripojení / proc v režime hidepid = 1 alebo hidepid = 2.

Z ďalších zmien ktoré vynikajú:

  • Identifikátor UID ukončeného procesu sa okrem PID a názvu procesu prejaví aj v registri.
  • Bolo pridané svetlošedé zvýraznenie ladiaceho protokolu.
  • Pokiaľ je to možné, použilo sa vyhlásenie o premenných lokálnych pre bloky.
  • Konfigurácia bola pridaná PATH_LEN prepísať hodnotu veľkosti vloženého bufferu v kóde.
  • Možnosť štartu cppcheck Ak je k dispozícii.
  • Bol pridaný test výkonu „make bench“.
  • Rozšírená testovacia sada (vykonať test).

Konečne ak o tom chcete vedieť viac O tomto vydaní môžete skontrolovať podrobnosti v nasledujúci odkaz. 

Ako nainštalovať earlyoom na Linuxe?

Pre tých, ktorí majú záujem o vyskúšanie tohto nástroja, môžu tak urobiť podľa pokynov, ktoré zdieľame nižšie.

Earlyoom sa nachádza v úložiskách niektorých distribúcií populárneho Linuxu, v prípade Debianu, Ubuntu a akýchkoľvek derivátov z nich je inštaláciu možné vykonať pomocou nasledujúceho príkazu:

sudo apt install earlyoom

Po dokončení je potrebné službu povoliť pomocou príkazu:

sudo systemctl enable earlyoom

A začína to:

sudo systemctl start earlyoom

V prípade Fedora a RHEL 8 s EPEL, dá sa nainštalovať pomocou nasledujúceho príkazu:

sudo dnf install earlyoom

A služba sa aktivuje pomocou:

sudo systemctl enable --now earlyoom

konečne, v prípade Arch Linuxu alebo iného derivátu tohto systému, inštalácia sa vykonáva nasledujúcim príkazom:

sudo pacman -S earlyoom

A služba sa aktivuje pomocou:

sudo systemctl enable --now earlyoom

Pre všetky ostatné distribúcie Linuxu môžu vykonať inštaláciu kompiláciou obslužného kódu.

Na získanie kódu to môžeme urobiť pomocou nasledujúceho príkazu:

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

cd earlyoom

Pokračujeme v kompilácii s:

make

A nainštalujeme (ak máte Systemd):

sudo make install

Alebo pre tých, ktorí nemajú Systemd:

sudo make install-initscript

A aby ste využili službu, ktorú robíte s:

./earlyoom


Zanechajte svoj komentár

Vaša e-mailová adresa nebude zverejnená. Povinné položky sú označené *

*

*

  1. Zodpovedný za údaje: Miguel Ángel Gatón
  2. Účel údajov: Kontrolný SPAM, správa komentárov.
  3. Legitimácia: Váš súhlas
  4. Oznamovanie údajov: Údaje nebudú poskytnuté tretím stranám, iba ak to vyplýva zo zákona.
  5. Ukladanie dát: Databáza hostená spoločnosťou Occentus Networks (EU)
  6. Práva: Svoje údaje môžete kedykoľvek obmedziť, obnoviť a vymazať.

  1.   infogon dijo

    Detail názvu: «strata pamäte»

    1.    David naranjo dijo

      Ďakujem za postreh. Na zdravie! 🙂

  2.   linuxmanr4 dijo

    Myslím, že je tu detail s inštaláciou v Manjaro (odvodený od Archa). Balík som nenašiel v bežných úložiskách.

    Inštalácia by teda mala byť vykonaná cez yaourt.

    yaourt earlyoom

    Zdravím!

    1.    David naranjo dijo

      V Arche je to vnútri archívu komunity, ktorý musí byť povolený v pacman.conf. Rovnakým spôsobom, ako ste spomenuli, je to aj v AUR.

      Ďakujem za postreh 😀

  3.   Fran Pavon dijo

    Dobrý deň, chcem, aby sa táto služba spustila v MXLinuxe zakaždým, keď zapnem počítač bez toho, aby som musel zadávať príkaz do terminálu, ako to môžem urobiť?