إصدار معالج نفاد الذاكرة الإصدار المبكر 1.4

بعد ثمانية أشهر من التطوير نشرت الإفراج عن عملية الخلفية المبكر 1.4، والتي تتحقق بشكل دوري من حجم الذاكرة المتوفرة (MemAvailable و SwapFree) وتحاول الاستجابة مبكرًا لحدوث انخفاض في الذاكرة. كود المشروع مكتوب بلغة C و وزعت من خلال بموجب تراخيص معهد ماساتشوستس للتكنولوجيا.

إذا كانت كمية الذاكرة المتاحة أقل من القيمة المحددة ، فحينئذٍ سينهي وقت مبكر (عن طريق إرسال SIGTERM أو SIGKILL) العملية التي تستهلك الذاكرة بشكل أكثر نشاطًا (لها أعلى قيمة / proc / * / oom_score) ، دون إحضار حالة النظام لمسح المخازن المؤقتة للنظام والتدخل في تبادل العمل (يتم تشغيل معالج OOM (نفاد الذاكرة) في النواة عندما تصل حالة نفاد الذاكرة بالفعل إلى القيم الحرجة وعادة في هذه اللحظة لم يعد النظام يستجيب لإجراءات المستخدم).

يدعم Earlyoom إرسال إشعارات بالعمليات التي تم إنهاؤها قسرًا إلى سطح المكتب (باستخدام الإخطار والإرسال) ، كما يوفر القدرة على تحديد القواعد التي يمكنك من خلالها ، باستخدام التعبيرات العادية ، تحديد أسماء العمليات التي يفضل إنهاؤها (الخيار "- -prefer ") أو التوقف يجب تجنبه (الخيار" --avoid ").

رئيسي التغييرات في الإصدار الجديد:

  • على حساب تحميل كسول سمات العملية 50٪ أسرع منطق اختيار العملية للإنجاز ؛
  • التأكد من أن UID الخاص بالعملية التي يتم إنهاؤها ينعكس في السجل ، بالإضافة إلى PID واسم العملية ؛
  • إضافة تسليط الضوء على سجل التصحيح باللون الرمادي الفاتح ؛
  • تنظيف الكود ؛
  • حيثما أمكن ، تم استخدام إعلان المتغيرات المحلية للكتل ؛
  • تمت إضافة إعداد PATH_LEN لاستبدال قيمة حجم المخزن المؤقت المخيط في الكود ؛
  • تأكد من تشغيل cppcheck إذا كان متاحًا ؛
  • تمت إضافة اختبار أداء "جعل مقاعد البدلاء" ؛
  • مجموعة موسعة من الاختبارات (إجراء اختبار) ؛
  • تم تنفيذ إعادة تعيين امتيازات الجذر في ملف وحدة systemd earlyoom.service. هذا التغيير فرامل إمكانية إخطارات واجهة المستخدم الرسومية. لتمكين إشعارات واجهة المستخدم الرسومية ، يُقترح إعادة حقوق الجذر عن طريق إلغاء التعليق "DynamicUser = true". تعطيل الجذر أيضا приводит لعدم القدرة على الحصول على معلومات حول استهلاك الذاكرة عند التركيب / proc في الوضع hidepid = 1 أو hidepid = 2.

المصدر: opennet.ru

إضافة تعليق