หลังจากเจ็ดเดือนของการพัฒนา การเปิดตัวกระบวนการพื้นหลัง Earlyoom 1.3 ได้รับการเผยแพร่ ซึ่งจะตรวจสอบจำนวนหน่วยความจำที่มีอยู่เป็นระยะ (MemAvailable, SwapFree) และพยายามตอบสนองต่อการขาดแคลนหน่วยความจำตั้งแต่เนิ่นๆ
หากจำนวนหน่วยความจำที่มีอยู่น้อยกว่าค่าที่ระบุ Earlyoom จะบังคับ (โดยส่ง SIGTERM หรือ SIGKILL) ยุติกระบวนการที่ใช้หน่วยความจำอย่างแข็งขันที่สุด (มีค่า /proc/*/oom_score สูงสุด) โดยไม่นำสถานะระบบ เพื่อล้างบัฟเฟอร์ระบบและรบกวนการแลกเปลี่ยนงาน (ตัวจัดการ OOM (หน่วยความจำไม่เพียงพอ) ในเคอร์เนลจะถูกเรียกใช้เมื่อสถานะหน่วยความจำไม่เพียงพอถึงค่าวิกฤตแล้ว และโดยปกติในขณะนี้ระบบจะไม่ตอบสนองอีกต่อไป ต่อการกระทำของผู้ใช้)
Earlyoom รองรับการส่งการแจ้งเตือนเกี่ยวกับกระบวนการที่ถูกบังคับให้ยุติไปยังเดสก์ท็อป (โดยใช้การแจ้งเตือน-ส่ง) และยังให้ความสามารถในการกำหนดกฎเกณฑ์ซึ่งคุณสามารถระบุชื่อของกระบวนการที่ต้องการยุติได้ ("-- ชอบตัวเลือก") หรือหยุดควรหลีกเลี่ยง (ตัวเลือก "--หลีกเลี่ยง")
การเปลี่ยนแปลงหลักในรุ่นใหม่:
- ดำเนินการรอการยกเลิกกระบวนการหลังจากส่งสัญญาณแล้ว วิธีนี้ช่วยแก้ไขปัญหาที่บางครั้ง Earlyoom ฆ่ากระบวนการมากกว่าหนึ่งกระบวนการเมื่อกระบวนการหนึ่งเพียงพอ
- เพิ่มสคริปต์ตัวช่วย (notify_all_users.py) เพื่อแจ้งเตือนผู้ใช้ที่เข้าสู่ระบบทั้งหมดเกี่ยวกับการยุติกระบวนการผ่านการแจ้งเตือนการส่งการแจ้งเตือน
- แก้ไขการแสดงชื่อกระบวนการบางอย่างที่มีอักขระ UTF-8 ที่ไม่ถูกต้อง
- นำหลักจรรยาบรรณของผู้ร่วมให้ข้อมูลมาใช้
ที่มา: linux.org.ru