Ilista ang bagong bersyon ng earlyoom 1.4, isang utility upang maiwasan ang mga pag-crash dahil sa kakulangan ng memorya

maaga pa

Maaga sa taon pinag-uusapan natin dito sa blog ang tungkol sa utility ng Earlyoom, kung saan, pagkatapos ng talakayan ng mga developer ng Fedora, ay tinanggap para sa paggamit ng utility na ito sa Fedora 32 bilang isang proseso sa background, na balak nilang mapabuti ang tugon ng system sa kawalan ng memorya at sa gayon maiwasan ang mga pag-crash.

Ngayon makalipas ang maraming linggo at Matapos ang walong buwan ng pag-unlad, inihayag ang paglabas ng bagong bersyon ng Earlyoom 1.4.

Para sa mga hindi pamilyar sa proyekto, dapat nilang malaman iyon ito ay isang background thread na pana-panahong sinusuri ang dami ng magagamit na memorya (Magagamit, SwapFree) at sinusubukan na tumugon sa isang out of memory kondisyon sa isang maagang yugto. Ang code ng proyekto ay nakasulat sa C at ibinahagi sa ilalim ng lisensya ng MIT.

maagang silid
Kaugnay na artikulo:
Earlyoom ang thread upang isama sa Fedora 32 upang maiwasan ang mga pag-crash ng memorya

Kung ang halaga ng magagamit na memorya ay mas kaunti kaysa sa tinukoy na halaga, ang maaga ay magtatapos sa pamamagitan ng lakas (sa pamamagitan ng pagpapadala ng SIGTERM o SIGKILL) ang proseso ng proseso na kumakain ng pinakamaraming memorya (na may pinakamataas na halaga / proc / * / oom_score), nang walang system state clearing system buffers at makagambala sa swap work (OOM (wala sa memorya) driver sa mga sunog ng kernel kapag ang memorya ng mababang estado ay umabot na sa mga kritikal na halaga, at sa pangkalahatan dito ituro ang system ay hindi na tumutugon sa mga pagkilos ng gumagamit).

Sinusuportahan ng Earlyoom ang pagpapadala ng mga abiso sa sapilitang proseso sa desktop (sa pamamagitan ng pagpapadala ng mga abiso), at nagbibigay din ng kakayahang tukuyin ang mga panuntunan kung saan maaaring magamit ang mga regular na expression upang tukuyin ang mga pangalan ng mga proseso na mas gusto ang pagwawakas (ang pagpipiliang "–prefer") o mga paghinto na dapat iwasan (- iwasan ang pagpipilian).

Ano ang bago sa Earlyoom 1.4?

Sa bagong bersyon na ito ang ilang mga pagbabago ay nai-highlight, na kung saan Nabanggit na nagtatrabaho ako sa paglilinis ng code at dahil din sa naantala na paglo-load ng mga katangian ng proseso, ang lohika ng pagpili ng mga proseso upang makumpleto ay pinabilis ng 50%.

Bukod diyan din ipinatupad ang root privilege reset sa file ng drive "systemd earlyoom.service". Nasisira ng pagbabagong ito ang kakayahang makatanggap ng mga abiso sa GUI.

Upang muling paganahin ang mga abiso ng GUI, iminungkahi na ibalik ang mga karapatan sa ugat sa pamamagitan ng pag-aalis ng linya «DynamicUser = totoo".

Kahit na ang hindi pagpapagana ng ugat ay ginagawang imposibleng makakuha ng impormasyon tungkol sa pagkonsumo ng memorya kapag tumataas / proc sa mode hidepid = 1 o hidepid = 2.

Sa iba pang mga pagbabago matindi yan:

  • Ang UID ng tinapos na proseso ay makikita sa pagpapatala, bilang karagdagan sa PID at ang pangalan ng proseso.
  • Nagdagdag ng pag-highlight ng light grey debug log.
  • Kung maaari, ginamit ang pagdedeklara ng mga variable na lokal sa mga bloke.
  • Idinagdag ang pagsasaayos PATH_LEN upang ma-override ang halaga ng naka-embed na laki ng buffer sa code.
  • Posibilidad ng pagsisimula cppcheck kung bakante.
  • Ang pagsubok sa pagganap na "make bench" ay idinagdag.
  • Pinalawig na test suite (gumawa ng pagsubok).

Sa wakas kung nais mong malaman ang tungkol dito Tungkol sa paglabas na ito, maaari mong suriin ang mga detalye sa sumusunod na link. 

Paano mag-install ng earlyoom sa Linux?

Para sa mga interesadong subukan ang utility na ito, magagawa nila ito sa pamamagitan ng pagsunod sa mga tagubilin na ibinabahagi namin sa ibaba.

Ang Earlyoom ay matatagpuan sa loob ng mga repository ng ilan sa mga pamamahagi ng tanyag na Linux, kaya, sa kaso ng Debian, Ubuntu at anumang derivatives sa mga ito, ang pag-install ay maaaring gawin sa sumusunod na utos:

sudo apt install earlyoom

Kapag tapos na ito, dapat na paganahin ang serbisyo sa pamamagitan ng utos:

sudo systemctl enable earlyoom

At nagsisimula ito sa:

sudo systemctl start earlyoom

Sa kaso ng Ang Fedora at RHEL 8 kasama ang EPEL, maaari itong mai-install gamit ang sumusunod na utos:

sudo dnf install earlyoom

At ang serbisyo ay pinapagana ng:

sudo systemctl enable --now earlyoom

Sa wakas, sa kaso ng Arch Linux o anumang iba pang hango ng ito, ang pag-install ay tapos na sa sumusunod na utos:

sudo pacman -S earlyoom

At ang serbisyo ay pinapagana ng:

sudo systemctl enable --now earlyoom

Para sa lahat ng iba pang mga pamamahagi ng Linux, maisasagawa nila ang pag-install sa pamamagitan ng pag-iipon ng utility code.

Upang makuha ang code magagawa natin ito sa sumusunod na utos:

git clone https://github.com/rfjakob/earlyoom.git

cd earlyoom

Nagpapatuloy kaming mag-ipon sa:

make

At nag-install kami (kung mayroon kang Systemd):

sudo make install

O para sa mga walang Systemd:

sudo make install-initscript

At upang magamit ang serbisyo na ginagawa mo ito sa:

./earlyoom


5 na puna, iwan mo na ang iyo

Iwanan ang iyong puna

Ang iyong email address ay hindi nai-publish. Mga kinakailangang patlang ay minarkahan ng *

*

*

  1. Responsable para sa data: Miguel Ángel Gatón
  2. Layunin ng data: Kontrolin ang SPAM, pamamahala ng komento.
  3. Legitimation: Ang iyong pahintulot
  4. Komunikasyon ng data: Ang data ay hindi maiparating sa mga third party maliban sa ligal na obligasyon.
  5. Imbakan ng data: Ang database na naka-host ng Occentus Networks (EU)
  6. Mga Karapatan: Sa anumang oras maaari mong limitahan, mabawi at tanggalin ang iyong impormasyon.

  1.   infogon dijo

    Isang detalye ng pamagat: «pagkawala ng memorya»

    1.    David naranjo dijo

      Salamat sa obserbasyon. Regards! 🙂

  2.   linuxmanr4 dijo

    Sa palagay ko mayroong isang detalye sa pag-install sa Manjaro (nagmula sa Arch). Hindi ko nakita ang package sa normal na mga repository.

    Kaya ang pag-install ay dapat na sa pamamagitan ng iyo.

    yaourt earlyoom

    Pagbati!

    1.    David naranjo dijo

      Sa Arch, nasa loob ito ng repository ng komunidad na kailangang paganahin sa pacman.conf. Sa parehong paraan tulad ng nabanggit mo ito ay nasa AUR din.

      Salamat sa obserbasyon 😀

  3.   Fran Pavon dijo

    Kumusta, nais kong magsimula ang serbisyong ito sa MXLinux sa tuwing bubuksan ko ang computer nang hindi kinakailangang ilagay ang utos sa terminal, paano ko ito magagawa?