Kifogyott a memóriakezelő korai kiadása 1.4

Nyolc hónapos fejlesztés után közzétett háttérfolyamat kiadás korai szoba 1.4, amely időszakonként ellenőrzi a rendelkezésre álló memória mennyiségét (MemAvailable, SwapFree), és megpróbál korán reagálni a kevés memória előfordulására. A projekt kódja C nyelven és forgalmazza MIT engedélyekkel.

Ha a rendelkezésre álló memória mennyisége kisebb, mint a megadott érték, akkor az earlyoom erőszakkal (a SIGTERM vagy SIGKILL elküldésével) leállítja azt a folyamatot, amely a legaktívabban fogyaszt memóriát (amely a legmagasabb /proc/*/oom_score értékkel rendelkezik), a rendszer állapotának megváltoztatása nélkül. a rendszer puffereinek törlésére és a munkacsere zavarására (az OOM (Out Of Memory) kezelő a kernelben akkor indul el, ha a memória hiánya már elérte a kritikus értékeket, és általában ekkorra a rendszer már nem reagál felhasználói műveletekre).

Az Earlyoom támogatja a kényszerített folyamatokról szóló értesítések küldését az asztalra (notify-send használatával), és lehetőséget biztosít olyan szabályok meghatározására is, amelyekben reguláris kifejezések segítségével megadhatja a leállítandó folyamatok nevét ("-" opció -prefer") vagy le kell állítani ("--avoid" opció).

A főbb változások az új kiadásban:

  • rovására lusta rakodás a folyamat 50%-kal gyorsabb folyamatkiválasztási logikát ad a befejezéshez;
  • Biztosította, hogy a leállított folyamat UID-je szerepeljen a naplóban, a PID-n és a folyamatnéven kívül;
  • A hibakeresési napló világosszürke kiemelése hozzáadva;
  • Megtisztította a kódot;
  • Ahol lehetséges volt, a blokkra lokális változók deklarációját használták;
  • PATH_LEN beállítás hozzáadva a kódba varrt pufferméret értékének cseréjéhez;
  • Biztosította, hogy a cppcheck elindul, ha elérhető;
  • "Make bench" teljesítményteszt hozzáadva;
  • Bővített tesztkészlet (make test);
  • A root jogosultságok alaphelyzetbe állítása a systemd earlyoom.service egység fájlban. Ez a változás szünetek GUI értesítések lehetősége. A GUI-értesítések engedélyezéséhez javasolt a root jogok visszaadása a „DynamicUser=true” megjegyzés törlésével. A root letiltása is приводит a memóriafogyasztásról való információszerzés képtelensége a /proc csatolásakor hidepid=1 vagy hidepid=2 módban.

Forrás: opennet.ru

Hozzászólás