Efter Ätta mÄnaders utveckling utgivning av bakgrundsprocess , som regelbundet kontrollerar mÀngden tillgÀngligt minne (MemAvailable, SwapFree) och försöker reagera tidigt pÄ minnesbrist. Projektkoden Àr skriven i C och Àr licensierad under MIT.
Om mÀngden tillgÀngligt minne Àr mindre Àn det angivna vÀrdet, kommer earlyoom tvingat (genom att skicka SIGTERM eller SIGKILL) att avsluta processen som mest aktivt anvÀnder minne (den med det högsta vÀrdet i /proc/*/oom_score), utan att nÄ en situation dÀr systembuffertarna rensas och swap-handlingen störs (OOM-hanteraren i kÀrnan aktiveras nÀr minnesbristen redan har nÄtt kritiska vÀrden och vid den tidpunkten reagerar systemet vanligtvis inte pÄ anvÀndarens ÄtgÀrder).
Earlyoom stödjer att skicka meddelanden om tvingat avslutade processer till skrivbordet (via notify-send), och erbjuder Ă€ven möjlighet att definiera regler dĂ€r man med hjĂ€lp av reguljĂ€ra uttryck kan ange namn pĂ„ processer vars avslutande Ă€r att föredra (alternativet "âprefer") eller som bör undvikas (alternativet "âavoid").
Huvud nyheterna i denna utgÄva:
- Genom processattribut har logiken för att vÀlja processer för avslutning snabbats upp med 50%;
- Det har sÀkerstÀllts att UID för den avslutade processen loggas, utöver PID och processnamn;
- LjusgrÄ markering har lagts till i debugloggen;
- Kodgranskning har genomförts;
- Lokala variabeldeklarationer har anvÀnts dÀr det Àr möjligt;
- En instÀllning för PATH_LEN har lagts till för att ersÀtta det inbyggda vÀrdet för buffertstorlek;
- Kontroll av cppcheck har sÀkerstÀllts om det finns;
- Prestandatestet "make bench" har lagts till;
- Testsviten har utökats (make test);
- à terstÀllning av root-behörigheter i systemd-enheten earlyoom.service har genomförts. Denna Àndring möjliggör GUI-notifikationer. För att aktivera GUI-notifikationer föreslÄs att ÄterstÀlla root-behörigheterna genom att avkommentera "DynamicUser=true". AvstÀngning av root innebÀr ocksÄ att det blir omöjligt att fÄ information om minnesanvÀndning nÀr /proc Àr monterat i lÀge hidepid=1 eller hidepid=2.
KĂ€lla: opennet.ru
