Seznamte se s novou verzí earlyoom 1.4, což je obslužný program, který má zabránit selhání z důvodu nedostatku paměti

brzo

Na začátku roku mluvíme zde na blogu o nástroji Earlyoom, který byl po diskusi vývojářů Fedory přijat za použití tohoto nástroje ve Fedoře 32 jako proces na pozadí, pomocí něhož chtějí zlepšit reakci systému na nedostatek paměti a zabránit tak pádům.

Nyní o několik týdnů později a Po osmi měsících vývoje bylo oznámeno vydání nové verze Earlyoom 1.4.

Ti, kteří projekt neznají, by to měli vědět toto je vlákno na pozadí, které pravidelně kontroluje množství dostupné paměti (MemAvailable, SwapFree) a pokusí se reagovat na stav nedostatku paměti v rané fázi. Kód projektu je napsán v jazyce C a distribuován pod licencí MIT.

Brzký pokoj
Související článek:
Předčasně přidejte vlákno, které chcete zahrnout do Fedory 32, abyste předešli selhání paměti

Pokud je množství dostupné paměti menší než zadaná hodnota, Earlyoom skončí násilím (zasláním SIGTERM nebo SIGKILL) proces procesu, který spotřebovává nejvíce paměti (který má nejvyšší hodnotu / proc / * / oom_score), bez vymazání systémových vyrovnávacích pamětí systému a zásahu do swapové práce (OOM (nedostatek paměti) ovladače v jádře, když je nízký stav paměť již dosáhla kritických hodnot a obecně v tomto okamžiku systém již nereaguje na akce uživatele).

Earlyoom podporuje zasílání vynucených oznámení o procesu na plochu (zasíláním oznámení) a také poskytuje možnost definovat pravidla, kde lze použít regulární výrazy k určení názvů procesů, jejichž ukončení je upřednostňováno (možnost „–prefer“) nebo zastavení, kterým je třeba se vyhnout (–Vyhnout se možnosti).

Co je nového v Earlyoom 1.4?

V této nové verzi jsou zvýrazněny některé změny, z nichž Uvádí se, že pracuji na čištění kódu a to také kvůli zpožděnému načítání atributů procesu, logika výběru procesů k dokončení se zrychlila o 50%.

Kromě toho také byl implementován reset oprávnění root v souboru jednotky "systemd earlyoom.service". Tato změna narušuje schopnost přijímat oznámení GUI.

Chcete-li znovu povolit oznámení GUI, navrhuje se vrátit práva root odkomentováním řádku «DynamicUser = true".

Ačkoli deaktivace root také znemožňuje získat informace o spotřebě paměti při připojování / proc Způsob hidepid = 1 nebo hidepid = 2.

Z dalších změn které vynikají:

  • UID dokončeného procesu se projeví v registru, kromě PID a názvu procesu.
  • Přidáno zvýraznění světle šedého ladicího protokolu.
  • Pokud to bylo možné, byla použita deklarace proměnných lokálních pro bloky.
  • Konfigurace přidána PATH_LEN přepsat hodnotu velikosti vložené vyrovnávací paměti v kódu.
  • Možnost spuštění cppcheck Pokud je k dispozici.
  • Přidán test výkonu „make bench“.
  • Rozšířená testovací sada (provést test).

Konečně pokud o tom chcete vědět víc O této verzi můžete zkontrolovat podrobnosti v následující odkaz. 

Jak nainstalovat earlyoom na Linuxu?

Pro ty, kteří mají zájem o možnost vyzkoušet tento nástroj, mohou tak učinit podle pokynů, které sdílíme níže.

Earlyoom se nachází v úložištích některých distribucí populárního Linuxu, v případě Debianu, Ubuntu a jakýchkoli derivátů z nich lze instalaci provést pomocí následujícího příkazu:

sudo apt install earlyoom

Jakmile je toto hotovo, musí být služba nyní povolena pomocí příkazu:

sudo systemctl enable earlyoom

A začíná to:

sudo systemctl start earlyoom

Pro případ Fedora a RHEL 8 s EPEL, lze jej nainstalovat pomocí následujícího příkazu:

sudo dnf install earlyoom

A služba je aktivována pomocí:

sudo systemctl enable --now earlyoom

Konečně, v případě Arch Linuxu nebo jakéhokoli jiného derivátu tohoto, instalace se provádí pomocí následujícího příkazu:

sudo pacman -S earlyoom

A služba je aktivována pomocí:

sudo systemctl enable --now earlyoom

U všech ostatních distribucí Linuxu mohou provést instalaci kompilací obslužného kódu.

K získání kódu to můžeme udělat pomocí následujícího příkazu:

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

cd earlyoom

Pokračujeme v kompilaci s:

make

A nainstalujeme (pokud máte Systemd):

sudo make install

Nebo pro ty, kteří nemají Systemd:

sudo make install-initscript

A používat službu, kterou děláte s:

./earlyoom


Zanechte svůj komentář

Vaše e-mailová adresa nebude zveřejněna. Povinné položky jsou označeny *

*

*

  1. Odpovědný za údaje: Miguel Ángel Gatón
  2. Účel údajů: Ovládací SPAM, správa komentářů.
  3. Legitimace: Váš souhlas
  4. Sdělování údajů: Údaje nebudou sděleny třetím osobám, s výjimkou zákonných povinností.
  5. Úložiště dat: Databáze hostovaná společností Occentus Networks (EU)
  6. Práva: Vaše údaje můžete kdykoli omezit, obnovit a odstranit.

  1.   infogon řekl

    Detail názvu: «ztráta paměti»

    1.    David naranjo řekl

      Díky za pozorování. Na zdraví! 🙂

  2.   linuxmanr4 řekl

    Myslím, že je tu detail s instalací v Manjaro (odvozeno od Archu). Balíček jsem nenašel v běžných úložištích.

    Instalace by tedy měla proběhnout přes yaourt.

    yaourt earlyoom

    Zdravím!

    1.    David naranjo řekl

      V Archu je uvnitř úložiště komunity, které musí být povoleno v pacman.conf. Stejně jako jste zmínil, je to také v AUR.

      Díky za pozorování 😀

  3.   Fran Pavon řekl

    Dobrý den, chci, aby se tato služba spustila v MXLinuxu pokaždé, když zapnu počítač, aniž bych musel zadávat příkaz do terminálu, jak to mohu udělat?