Earlyoom 1.4:n julkaisu muistinkäsittelyohjelmasta

Kahdeksan kuukauden kehitystyön jälkeen julkaistu taustaprosessin vapauttaminen aikaisin 1.4, joka tarkistaa ajoittain käytettävissä olevan muistin määrän (MemAvailable, SwapFree) ja yrittää reagoida varhaisessa vaiheessa muistin puutteeseen. Projektin koodi on kirjoitettu C- ja jakelija MIT-lisenssien alla.

Jos käytettävissä olevan muistin määrä on pienempi kuin määritetty arvo, earlyoom pakottaa (lähettämällä SIGTERM tai SIGKILL) prosessin, joka kuluttaa muistia aktiivisimmin (jolla on korkein /proc/*/oom_score-arvo), tuomatta järjestelmän tilaa. järjestelmän puskureiden tyhjentämiseen ja työn vaihtoon häiritsemiseen (ytimen OOM (Out Of Memory) -käsittelijä laukeaa, kun muistin loppuminen on jo saavuttanut kriittiset arvot ja yleensä tähän hetkeen järjestelmä ei enää reagoi käyttäjän toimiin).

Earlyoom tukee ilmoitusten lähettämistä väkisin lopetetuista prosesseista työpöydälle (käyttäen notify-send) ja tarjoaa myös mahdollisuuden määritellä sääntöjä, joissa säännöllisten lausekkeiden avulla voit määrittää prosessien nimet, jotka halutaan lopettaa ("- -Prefer" -vaihtoehto) tai pysäytys tulee välttää (vaihtoehto "—vältä").

Pääasiallinen muutokset uudessa julkaisussa:

  • kustannuksella laiska lataus prosessin attribuutit, loppuun saatettavien prosessien valinnan logiikkaa on nopeutettu 50 %;
  • Lokiin näkyy päätettävän prosessin UID PID:n ja prosessin nimen lisäksi;
  • Lisätty virheenkorjauslokin korostus vaaleanharmaalla;
  • Koodi puhdistettiin;
  • Jos mahdollista, lohkopaikalliset muuttujat ilmoitettiin;
  • Lisätty PATH_LEN-asetus, joka korvaa koodiin sisäänrakennetun puskurin koon arvon;
  • Varmistaa, että cppcheck käynnistyy, kun se on saatavilla;
  • Lisätty "make bench" -suorituskykytesti;
  • Testien joukkoa on laajennettu (make test);
  • Pääkäyttäjän oikeuksien nollaus toteutettu systemd earlyoom.service -yksikkötiedostossa. Tämä on muutos taukoja GUI-ilmoitusten mahdollisuus. GUI-ilmoitusten ottamiseksi käyttöön on suositeltavaa palauttaa pääkäyttäjän oikeudet poistamalla kommentointi "DynamicUser=true". Myös rootin poistaminen käytöstä приводит kyvyttömyys saada tietoa muistinkulutuksesta, kun /proc asennetaan hidepid=1- tai hidepid=2-tilassa.

Lähde: opennet.ru

Lisää kommentti