แสดงรายการเวอร์ชันใหม่ของ earlyoom 1.4 ซึ่งเป็นยูทิลิตี้เพื่อหลีกเลี่ยงการล่มเนื่องจากไม่มีหน่วยความจำ

ต้น

เมื่อต้นปี เราพูดถึงที่นี่ในบล็อกเกี่ยวกับยูทิลิตี้ Earlyoom ซึ่งหลังจากการพูดคุยโดยนักพัฒนา Fedora ได้รับการยอมรับให้ใช้ยูทิลิตี้นี้ใน Fedora 32 เป็นกระบวนการเบื้องหลังโดยพวกเขาตั้งใจที่จะปรับปรุงการตอบสนองของระบบต่อการขาดหน่วยความจำและหลีกเลี่ยงปัญหาการขัดข้อง

หลายสัปดาห์ต่อมาและ หลังจากแปดเดือนของการพัฒนามีการประกาศการเปิดตัว Earlyoom 1.4 เวอร์ชันใหม่.

สำหรับผู้ที่ไม่คุ้นเคยกับโครงการควรทราบ นี่คือเธรดพื้นหลังที่ตรวจสอบจำนวนหน่วยความจำที่มีอยู่เป็นระยะ (MemAvailable, SwapFree) และพยายามตอบสนองต่อสภาวะหน่วยความจำไม่เพียงพอในระยะเริ่มต้น รหัสโครงการเขียนด้วยภาษา C และแจกจ่ายภายใต้ใบอนุญาต MIT

ห้องแรก
บทความที่เกี่ยวข้อง:
เปิดเธรดที่จะรวมไว้ใน Fedora 32 ก่อนเพื่อป้องกันไม่ให้หน่วยความจำล่ม

หากจำนวนหน่วยความจำที่มีอยู่น้อยกว่า กว่าค่าที่ระบุ earlyoom จะจบลงด้วยการบังคับ (โดยส่ง SIGTERM หรือ SIGKILL) ขั้นตอนของกระบวนการที่ใช้หน่วยความจำมากที่สุด (ซึ่งมีค่าสูงสุด / proc / * / oom_score) โดยไม่มีบัฟเฟอร์ของระบบล้างสถานะระบบและรบกวนการทำงานของ swap (OOM (หน่วยความจำไม่เพียงพอ) ไดรเวอร์ในเคอร์เนลจะทำงานเมื่อหน่วยความจำสถานะต่ำถึงค่าวิกฤตแล้วและโดยทั่วไปในกรณีนี้ ชี้ว่าระบบไม่ตอบสนองต่อการกระทำของผู้ใช้อีกต่อไป)

Earlyoom รองรับการส่งการแจ้งเตือนกระบวนการบังคับ ไปยังเดสก์ท็อป (โดยการส่งการแจ้งเตือน) และยังให้ความสามารถในการกำหนดกฎที่สามารถใช้นิพจน์ทั่วไปเพื่อระบุชื่อของกระบวนการที่ต้องการการยุติ (ตัวเลือก "–prefer") หรือการหยุดที่ควรหลีกเลี่ยง (- หลีกเลี่ยงตัวเลือก)

มีอะไรใหม่ใน Earlyoom 1.4

ในเวอร์ชันใหม่นี้จะมีการเน้นการเปลี่ยนแปลงบางอย่างซึ่ง มีการกล่าวถึงว่าฉันกำลังทำความสะอาดโค้ด และเนื่องจากการโหลดแอตทริบิวต์กระบวนการล่าช้า ตรรกะของการเลือกกระบวนการที่จะเสร็จสมบูรณ์นั้นเร่งขึ้น 50%

นอกจากนั้นยัง ใช้การรีเซ็ตสิทธิ์รูทแล้ว ในไฟล์ไดรฟ์ "systemd earlyroom.service" การเปลี่ยนแปลงนี้ทำให้ไม่สามารถรับการแจ้งเตือน GUI ได้

ในการเปิดใช้งานการแจ้งเตือน GUI อีกครั้งขอเสนอให้คืนสิทธิ์รูทโดยยกเลิกการใส่เครื่องหมายในบรรทัด«DynamicUser = จริง"

แม้ว่าการปิดใช้งานรูทยังทำให้ไม่สามารถรับข้อมูลเกี่ยวกับการใช้หน่วยความจำเมื่อทำการติดตั้ง / proc โหมด hidepid = 1 หรือ hidepid = 2.

จากการเปลี่ยนแปลงอื่น ๆ ที่โดดเด่น:

  • UID ของกระบวนการยุติจะแสดงในรีจิสทรีนอกเหนือจาก PID และชื่อของกระบวนการ
  • เพิ่มการเน้นบันทึกการแก้ปัญหาสีเทาอ่อน
  • ถ้าเป็นไปได้ระบบจะใช้การประกาศตัวแปรภายในบล็อก
  • เพิ่มการกำหนดค่าแล้ว PATH_LEN เพื่อแทนที่ค่าของขนาดบัฟเฟอร์ที่ฝังอยู่ในโค้ด
  • ความเป็นไปได้ในการเริ่มต้น ซีพีพีเช็ค ถ้ามี
  • เพิ่มการทดสอบประสิทธิภาพ "สร้างบัลลังก์"
  • ชุดทดสอบเพิ่มเติม (ทำการทดสอบ)

ในที่สุด หากคุณต้องการทราบข้อมูลเพิ่มเติม เกี่ยวกับรุ่นนี้คุณสามารถตรวจสอบรายละเอียดได้ในไฟล์ ลิงค์ต่อไปนี้ 

จะติดตั้ง earlyoom บน Linux ได้อย่างไร?

สำหรับผู้ที่สนใจจะทดลองใช้ยูทิลิตีนี้สามารถทำได้โดยทำตามคำแนะนำที่เราแบ่งปันด้านล่างนี้

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


แสดงความคิดเห็นของคุณ

อีเมล์ของคุณจะไม่ถูกเผยแพร่ ช่องที่ต้องการถูกทำเครื่องหมายด้วย *

*

*

  1. ผู้รับผิดชอบข้อมูล: Miguel ÁngelGatón
  2. วัตถุประสงค์ของข้อมูล: ควบคุมสแปมการจัดการความคิดเห็น
  3. ถูกต้องตามกฎหมาย: ความยินยอมของคุณ
  4. การสื่อสารข้อมูล: ข้อมูลจะไม่ถูกสื่อสารไปยังบุคคลที่สามยกเว้นตามข้อผูกพันทางกฎหมาย
  5. การจัดเก็บข้อมูล: ฐานข้อมูลที่โฮสต์โดย Occentus Networks (EU)
  6. สิทธิ์: คุณสามารถ จำกัด กู้คืนและลบข้อมูลของคุณได้ตลอดเวลา

  1.   อินโฟกอน dijo

    รายละเอียดของชื่อเรื่อง: «ความจำเสื่อม»

    1.    เดวิดนารันโจ dijo

      ขอบคุณสำหรับการสังเกต ไชโย! 🙂

  2.   ลินุกซ์แมน dijo

    ฉันคิดว่ามีรายละเอียดเกี่ยวกับการติดตั้งใน Manjaro (มาจาก Arch) ฉันไม่พบแพ็คเกจในที่เก็บปกติ

    ดังนั้นการติดตั้งควรผ่าน yaourt

    yaourt earlyoom

    สวัสดี!

    1.    เดวิดนารันโจ dijo

      ใน Arch จะอยู่ภายในที่เก็บชุมชนซึ่งต้องเปิดใช้งานใน pacman.conf เช่นเดียวกับที่คุณพูดถึงมันก็อยู่ใน AUR เช่นกัน

      ขอบคุณสำหรับการสังเกต😀

  3.   Fran Pavon dijo

    สวัสดีฉันต้องการให้บริการนี้เริ่มต้นใน MXLinux ทุกครั้งที่เปิดคอมพิวเตอร์โดยไม่ต้องใส่คำสั่งในเทอร์มินัลฉันจะทำอย่างไร