Earlyoom 1.3:n julkaisu, prosessi, jolla varhainen reagointi on vähäistä muistia

Seitsemän kuukauden kehitystyön jälkeen julkaistu taustaprosessin vapauttaminen aikaisin 1.3, joka tarkistaa ajoittain käytettävissä olevan muistin määrän (MemAvailable, SwapFree) ja yrittää reagoida varhaisessa vaiheessa muistin puutteeseen.

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ä").

Tärkeimmät muutokset uudessa julkaisussa:

  • Toteutettu odottaa prosessin lopettamista signaalin lähettämisen jälkeen. Tämä korjaa ongelman, että earlyoom joskus tappaa useamman kuin yhden prosessin, kun yksi riittää;
  • Lisätty lisäkomentosarja (notify_all_users.py), joka ilmoittaa kaikille sisäänkirjautuneille käyttäjille prosessien valmistumisesta notify-send-toiminnolla.
  • Korjattu joidenkin UTF-8-merkkejä sisältävien prosessinimien virheellinen näyttö;
  • Contributor Covenantin käytännesäännöt hyväksytty.

Lähde: opennet.ru

Lisää kommentti