Xotirasi yo'q ishlov beruvchining erta versiyasini chiqarish 1.4

Sakkiz oylik rivojlanishdan keyin e'lon qilindi fon jarayonini chiqarish erta 1.4, u vaqti-vaqti bilan mavjud xotira miqdorini tekshiradi (MemAvailable, SwapFree) va kam xotira paydo bo'lishiga erta javob berishga harakat qiladi. Loyiha kodi C tilida yozilgan va tarqaladi MIT litsenziyalari ostida.

Agar mavjud xotira miqdori belgilangan qiymatdan kam bo'lsa, ertaoom tizim holatiga olib kelmasdan, xotirani eng faol (eng yuqori /proc/*/oom_score qiymatiga ega) iste'mol qiladigan jarayonni majburan (SIGTERM yoki SIGKILL yuborish orqali) tugatadi. tizim buferlarini tozalash va ishni almashtirishga xalaqit berish (yadrodagi OOM (xotiradan tashqari) ishlov beruvchisi xotiradan qolgan holat kritik qiymatlarga yetganida ishga tushiriladi va odatda bu vaqtda tizim javob bermaydi. foydalanuvchi harakatlariga).

Earlyoom majburiy to'xtatilgan jarayonlar haqida bildirishnomalarni ish stoliga yuborishni qo'llab-quvvatlaydi (xabar berish-yuborishdan foydalanib), shuningdek, oddiy iboralar yordamida siz tugatilishi ma'qul bo'lgan jarayonlarning nomlarini belgilashingiz mumkin bo'lgan qoidalarni aniqlash imkoniyatini beradi (variant "- -afoid") yoki to'xtatilishidan qochish kerak (variant "-oldin").

asosiy o'zgartirish yangi nashrda:

  • hisobiga dangasa yuklash jarayon atributlari 50% tezroq jarayonni tugatish uchun mantiqiy tanlash;
  • PID va jarayon nomidan tashqari, tugatilayotgan jarayonning UID ning jurnalga kiritilganligiga ishonch hosil qiling;
  • Ochiq kul rangda disk raskadrovka jurnalini ta'kidlash qo'shildi;
  • Kod tozalandi;
  • Iloji bo'lsa, bloklar uchun mahalliy o'zgaruvchilar deklaratsiyasi ishlatilgan;
  • Kodga tikilgan bufer o'lchamining qiymatini almashtirish uchun PATH_LEN sozlamasi qo'shildi;
  • Agar mavjud bo'lsa, cppcheck ishga tushirilganligiga ishonch hosil qiling;
  • "Skameyka qilish" ishlash testi qo'shildi;
  • Kengaytirilgan testlar to'plami (test o'tkazish);
  • systemd earlyoom.service birligi faylida ildiz huquqlarini tiklash amalga oshirildi. Bu o'zgarish tanaffuslar GUI bildirishnomalari imkoniyati. GUI bildirishnomalarini yoqish uchun “DynamicUser=true” izohini olib tashlash orqali ildiz huquqlarini qaytarish taklif etiladi. Rootni ham o'chirib qo'yish Privodit hidepid=1 yoki hidepid=2 rejimida /proc-ni o'rnatishda xotira sarfi haqida ma'lumotni olishning iloji yo'qligiga.

Manba: opennet.ru

a Izoh qo'shish