انتشار زودهنگام 1.4 از کنترلر حافظه

پس از هشت ماه توسعه منتشر شد انتشار فرآیند پس زمینه اتاق اولیه 1.4، که به صورت دوره ای مقدار حافظه موجود (MemAvailable، SwapFree) را بررسی می کند و سعی می کند زودتر به وقوع حافظه کم پاسخ دهد. کد پروژه به زبان C نوشته شده است و توزیع شده توسط تحت مجوز MIT

اگر مقدار حافظه موجود کمتر از مقدار مشخص شده باشد، earlyoom به اجبار (با ارسال SIGTERM یا SIGKILL) فرآیندی را که بیشتر از همه حافظه را مصرف می‌کند (دارای بالاترین مقدار /proc/*/oom_score) خاتمه می‌دهد، بدون اینکه وضعیت سیستم را بیاورد. برای پاک کردن بافرهای سیستم و تداخل در جابجایی کار (هنرگر OOM (خارج از حافظه) در هسته زمانی فعال می شود که حالت خارج از حافظه قبلاً به مقادیر بحرانی رسیده باشد و معمولاً در این لحظه سیستم دیگر پاسخ نمی دهد. به اقدامات کاربر).

Earlyoom از ارسال اعلان‌های فرآیندهای خاتمه‌یافته به دسکتاپ (با استفاده از notify-send) پشتیبانی می‌کند، و همچنین امکان تعریف قوانینی را فراهم می‌کند که در آن، با استفاده از عبارات منظم، می‌توانید نام فرآیندهایی را که ترجیح داده می‌شوند خاتمه داده شوند، مشخص کنید (گزینه "- -prefer") یا توقف باید اجتناب شود (گزینه "--avoid").

اصلی تغییرات در نسخه جدید:

  • در هزینه بارگذاری تنبل فرآیند 50% منطق انتخاب فرآیند سریعتر را برای تکمیل مشخص می کند.
  • اطمینان حاصل شود که UID فرآیند خاتمه یافته، علاوه بر PID و نام فرآیند، ثبت شده است.
  • اضافه شدن هایلایت ورود اشکال زدایی در خاکستری روشن.
  • کد پاک شد.
  • در صورت امکان، از اعلان متغیرهای محلی به بلوک ها استفاده شد.
  • اضافه شدن تنظیمات PATH_LEN برای جایگزینی مقدار اندازه بافر دوخته شده در کد.
  • اطمینان حاصل شود که cppcheck در صورت وجود راه اندازی می شود.
  • تست عملکرد "ساخت نیمکت" اضافه شد.
  • مجموعه گسترده ای از آزمون ها (تست ساختن)؛
  • بازنشانی امتیازات ریشه در فایل واحد systemd earlyoom.service اجرا شد. این یک تغییر است می شکند امکان اعلان های رابط کاربری گرافیکی برای فعال کردن اعلان‌های رابط کاربری گرافیکی، پیشنهاد می‌شود که حقوق ریشه را با حذف نظر «DynamicUser=true» بازگردانید. غیرفعال کردن روت هم приводит به عدم توانایی در به دست آوردن اطلاعات در مورد مصرف حافظه هنگام نصب /proc در حالت hidepid=1 یا hidepid=2.

منبع: opennet.ru

اضافه کردن نظر