Санах ойн хомсдолоос болж ослоос урьдчилан сэргийлэх хэрэгсэл болох эртний програмын 1.4 шинэ хувилбарыг жагсаан бич

эрт үе

Жилийн эхээр бид блог дээрээ Earlyoom хэрэгслийн талаар ярьдаг, Федора хөгжүүлэгчдийн хэлэлцүүлгийн дараа Федора 32-т энэ хэрэгслийг суурь процесс болгон ашиглахыг зөвшөөрсөн бөгөөд ингэснээр системийн хариу үйлдлийг санах ойн хомсдолд сайжруулж, улмаар эвдрэлээс зайлсхийх зорилготой юм.

Одоо хэдэн долоо хоногийн дараа Найман сар хөгжүүлсний дараа Earlyoom 1.4-ийн шинэ хувилбарыг гаргахаар зарлав.

Төслийг мэдэхгүй хүмүүсийн хувьд үүнийг мэдэж байх ёстой энэ нь боломжтой санах ойн хэмжээг үе үе шалгаж байдаг дэвсгэр утас юм (MemAvailable, SwapFree) ба санах ойн гаднах байдалд эрт үед нь хариу өгөхийг хичээдэг. Төслийн кодыг C үсгээр бичиж MIT лицензийн дор тараана.

Холбоотой нийтлэл:
Санах ойн эвдрэлээс зайлсхийхийн тулд Fedora 32-т оруулах утаснуудаа эрт оруулаарай

Хэрэв боломжтой санах ойн хэмжээ бага бол заасан утгаас илүү, эрт үе хүчээр дуусгавар болно (SIGTERM эсвэл SIGKILL илгээж) санах ойг хамгийн их ашигладаг үйл явцын явц (хамгийн өндөр утгатай / proc / * / oom_score), системийн төлөвийг цэвэрлэх системийн буферууд болон своп ажилд саад учруулахгүйгээр (OOM (санах ойгүй) драйвер нь цөмийн галд бага төлөвт санах ойн хэмжээ аль хэдийн чухал утгад хүрсэн үед) систем нь хэрэглэгчийн үйлдэлд хариу өгөхөө больсон).

Earlyoom нь албадан процессын мэдэгдэл илгээхийг дэмждэг ширээний компьютерт (мэдэгдэл илгээх замаар) оруулахаас гадна, ердийн илэрхийлэлийг ашиглан зогсоохыг илүүд үздэг үйл явцын нэрийг ("-prefer" сонголт) эсвэл зогсоохоос зайлсхийх шаардлагатай цэгүүдийг тодорхойлох дүрмийг тодорхойлох боломжийг олгодог (- сонголтоос зайлсхийх).

Earlyoom 1.4-д шинэ зүйл юу байна вэ?

Энэхүү шинэ хувилбарт зарим өөрчлөлтийг онцолсон болно Би кодыг цэвэрлэх дээр ажилладаг гэж дурдсан байдаг мөн процессын шинж чанаруудыг ачих хугацаа хойшлогдсоноос болж, дуусгах процессуудыг сонгох логикийг 50% хурдасгасан.

Үүнээс гадна root эрхийн тохиргоог хэрэгжүүлсэн драйв файлд "systemd earlyoom.service". Энэ өөрчлөлт нь GUI мэдэгдэл хүлээн авах чадварыг эвддэг.

GUI мэдэгдлийг дахин идэвхжүүлэхийн тулд «» мөрөнд тайлбар оруулахгүйгээр root эрхийг буцааж өгөхийг санал болгож байна.DynamicUser = үнэн".

Хэдийгээр root-г идэвхгүй болгосноор холбох үед санах ойн хэрэглээний талаар мэдээлэл авах боломжгүй байдаг / proc горимд hidepid = 1 эсвэл hidepid = 2.

Бусад өөрчлөлтүүдээс тодорсон:

  • Цуцлагдсан процессын UID нь PID болон процессын нэрээс гадна бүртгэлд тусгагдсан болно.
  • Цайвар саарал дибаг хийх бүртгэлийг тодруулж нэмсэн.
  • Боломжтой бол блокуудын локал хувьсагчдын тунхаглалыг ашигласан болно.
  • Тохиргоог нэмсэн PATH_LEN кодонд суулгагдсан буферын утгыг хүчингүй болгох.
  • Эхлэх боломж cppcheck Хэрэв боломжтой бол.
  • Гүйцэтгэлийн тестийг "вандан сандал" нэмсэн.
  • Өргөтгөсөн туршилтын багц (тест хийх).

Эцэст нь Хэрэв та энэ талаар илүү ихийг мэдэхийг хүсч байвал Энэхүү хувилбарын талаар та дэлгэрэнгүй мэдээллийг дараах холбоос. 

Линукс дээр хэрхэн earlyoom суулгах вэ?

Энэхүү хэрэгслийг туршиж үзэх сонирхолтой хүмүүсийн хувьд доорх зааврыг дагаж хийж болно.

Earlyoom нь зарим түгээлтийн агуулах дотор байрладаг алдартай Линукс, Debian, Ubuntu болон бусад уламжлалын хувьд Эдгээрээс суулгалтыг дараах тушаалаар хийж болно.

sudo apt install earlyoom

Үүнийг хийсний дараа үйлчилгээг дараах тушаалаар идэвхжүүлсэн байх ёстой.

sudo systemctl enable earlyoom

Энэ нь:

sudo systemctl start earlyoom

Тохиолдолд Fedora ба RHEL 8 EPEL-тэй, үүнийг дараах тушаалаар суулгаж болно:

sudo dnf install earlyoom

Үйлчилгээг дараахь байдлаар идэвхжүүлсэн болно.

sudo systemctl enable --now earlyoom

Эцэст нь, Arch Linux эсвэл үүнээс үүдэлтэй бусад тохиолдолд, суулгалтыг дараах тушаалаар гүйцэтгэнэ.

sudo pacman -S earlyoom

Үйлчилгээг дараахь байдлаар идэвхжүүлсэн болно.

sudo systemctl enable --now earlyoom

Бусад бүх Линукс түгээлтийн хувьд тэд хэрэгслийн кодыг хөрвүүлэх замаар суулгалтыг хийж болно.

Кодыг олж авахын тулд бид үүнийг дараах тушаалаар хийж болно.

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

cd earlyoom

Бид дараахь зүйлийг эмхэтгэж эхлэв.

make

Мөн бид суулгадаг (хэрэв танд Systemd байгаа бол):

sudo make install

Эсвэл Systemd байхгүй хүмүүст зориулсан:

sudo make install-initscript

Үйлчилгээг ашиглахын тулд үүнийг дараахь байдлаар ашиглана уу.

./earlyoom


Нийтлэлийн агуулга нь бидний зарчмуудыг баримталдаг редакцийн ёс зүй. Алдааны талаар мэдээлэхийн тулд товшино уу энд байна.

5 сэтгэгдэл, үлдээгээрэй

Сэтгэгдэлээ үлдээгээрэй

Таны и-мэйл хаяг хэвлэгдсэн байх болно. Шаардлагатай талбарууд нь тэмдэглэгдсэн байна *

*

*

  1. Мэдээллийг хариуцах: Мигель Анхель Гатан
  2. Мэдээллийн зорилго: СПАМ-ыг хянах, сэтгэгдлийн менежмент.
  3. Хууль ёсны байдал: Таны зөвшөөрөл
  4. Мэдээллийн харилцаа холбоо: Хуулийн үүргээс бусад тохиолдолд мэдээллийг гуравдагч этгээдэд дамжуулахгүй.
  5. Өгөгдөл хадгалах: Occentus Networks (ЕХ) -с зохион байгуулсан мэдээллийн сан
  6. Эрх: Та хүссэн үедээ мэдээллээ хязгаарлаж, сэргээж, устгаж болно.

  1.   Infogon гэж хэлэв

    Гарчгийн дэлгэрэнгүй: «санах ойн алдагдал»

    1.    Дэвид наранжо гэж хэлэв

      Ажигласанд баярлалаа. Баярлалаа! 🙂

  2.   LinuxmanR4 гэж хэлэв

    Манжаро (Архаас гаралтай) -д суулгасан дэлгэрэнгүй мэдээлэл байгаа гэж бодож байна. Би ердийн сангаас багцыг олоогүй.

    Тиймээс суулгалтыг yaourt-ээр хийх ёстой.

    yaourt earlyoom

    Мэндчилгээ!

    1.    Дэвид наранжо гэж хэлэв

      Arch дээр pacman.conf-д идэвхжүүлсэн байх ёстой олон нийтийн агуулах дотор байдаг. Таны дурдсантай адил энэ нь AUR-д байдаг.

      Ажигласанд баярлалаа 😀

  3.   Фран Павон гэж хэлэв

    Сайн байна уу, командыг терминалд оруулахгүйгээр компьютерээ асаах бүртээ энэ үйлчилгээг MXLinux дээр эхлүүлэхийг хүсч байна, би үүнийг яаж хийх вэ?