اوبونتو ترجیح میده برنامههای شما را بکشه تا اینکه نشست (Session) را از پا دربیاره 😎
🌟 چی شده ؟
وقتی سیستم لینوکس با کمبود حافظه مواجه میشه هسته باید تصمیم بگیره کدام فرآیندها را قربانی کنه تا سیستم زنده بمونه.
این مکانیزم OOM Killer (Out-Of-Memory Killer) نام داره.
مشکل تاریخی اینه که OOM Killer گاهی بهجای کشتن یک برنامه سنگین (مثل مرورگر)، سرویسهای حیاتی نشست مثل GNOME Shell یا D-Bus را میکشد 😱 که نتیجه میشه
از دست رفتن کل نشست کاربر (logout ناخواسته، از دست رفتن کارهای ذخیرهنشده) .
🟦 حالا چی شده ؟
راهحل اوبونتو امتیاز OOM منفی برای سرویسهای حیاتی در نظر میگیره برای هر فرآیند یک امتیاز OOM (فایل oom_score_adj) داره که از -۱۰۰۰ (کشته نمیشه) تا +۱۰۰۰ (اولین قربانی) متغیره وقتی حافظه تمام میشه هسته ابتدا برنامهها (مرورگر، ویرایشگر، IDE) را میکشه و سرویسهای نشست را دستنخورده نگه میداره. این یعنی کاربر ممکنه یک برنامه را از دست بده اما کل دسکتاپ سرپا بمونه.
@MehrdadLinuxchannel
#Linux #لینوکس #Kernel
