Ang out-of-memory handler nagpagawas sa earlyoom 1.4

Human sa walo ka bulan nga kalamboan gipatik pagpagawas sa proseso sa background sayooom 1.4, nga matag karon ug unya nagsusi sa gidaghanon sa magamit nga panumduman (MemAvailable, SwapFree) ug mosulay sa pagtubag og sayo sa panghitabo sa ubos nga memorya. Ang code sa proyekto gisulat sa C nga pinulongan ug giapod-apod sa ubos sa mga lisensya sa MIT.

Kung ang kantidad sa magamit nga panumduman mas gamay kaysa sa gitakda nga kantidad, nan ang earlyoom mapugos (pinaagi sa pagpadala sa SIGTERM o SIGKILL) nga tapuson ang proseso nga labing aktibo nga gigamit ang memorya (adunay labing taas nga /proc/*/oom_score nga kantidad), nga wala magdala sa kahimtang sa sistema sa paghawan sa mga buffer sa sistema ug pagpanghilabot sa pagbayloay sa trabaho (ang OOM (Out Of Memory) nga handler sa kernel ma-trigger kung ang out-of-memory nga estado nakaabot na sa mga kritikal nga bili ug kasagaran niining higayona ang sistema dili na motubag sa mga aksyon sa tiggamit).

Gisuportahan sa Earlyoom ang pagpadala sa mga pahibalo sa pinugos nga gitapos nga mga proseso sa desktop (gamit ang notify-send), ug naghatag usab og abilidad sa paghubit sa mga lagda diin, gamit ang regular nga mga ekspresyon, mahimo nimong ipiho ang mga ngalan sa mga proseso nga gusto nga tapuson (opsyon "- -prefer") o paghunong kinahanglan likayan (opsyon "--avoid").

nag-unang mga pagbag-o sa bag-ong pagpagawas:

  • sa gasto tapulan nga loading proseso nga mga hiyas 50% mas paspas nga proseso pagpili lohika para sa pagkompleto;
  • Gisiguro nga ang UID sa proseso nga gitapos makita sa log, dugang sa PID ug ngalan sa proseso;
  • Gidugang ang highlight sa debug log sa light gray;
  • Gilimpyohan ang code;
  • Kung mahimo, ang deklarasyon sa mga variable nga lokal sa mga bloke gigamit;
  • Gidugang ang PATH_LEN setting aron ilisan ang kantidad sa buffer size nga gitahi sa code;
  • Pagsiguro nga ang cppcheck gilansad kung magamit;
  • Gidugang nga "make bench" performance test;
  • Gipadako nga set sa mga pagsulay (paghimo pagsulay);
  • Gipatuman ang pag-reset sa mga pribilehiyo sa gamut sa systemd earlyoom.service unit file. Kini nga pagbag-o mga break posibilidad sa mga pahibalo sa GUI. Aron mahimo ang mga abiso sa GUI, gisugyot nga ibalik ang mga katungod sa gamut pinaagi sa pag-uncomment sa "DynamicUser=true". Pag-disable usab sa gamut ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ sa kawalay katakus sa pagkuha og impormasyon bahin sa konsumo sa panumduman sa dihang nag-mount / proc sa mode hidepid=1 o hidepid=2.

Source: opennet.ru

Idugang sa usa ka comment