proc_pid_oom_score_adj(5)

الاسم
/proc/pid/oom_score_adj - ضبط درجة قاتل OOM

الوصف

/proc/pid/oom_score_adj (منذ لينكس 2.6.36)
    يُستخدم هذا الملف لضبط الاستدلال الخبيث المستخدم لاختيار العملية التي تُقتل في ظروف نفاد الذاكرة.

    يُسند الاستدلال الخبيث قيمة لكل مهمة مرشحة تتراوح من 0 (لا تُقتل أبدًا) إلى 1000 (تُقتل دائمًا) لتحديد العملية المستهدفة. الوحدات تقريبًا نسبة على طول هذا النطاق من الذاكرة المسموح بها التي قد تخصصها العملية، بناءً على تقدير استخدامها الحالي للذاكرة والمبادلة. على سبيل المثال، إذا كانت المهمة تستخدم كل الذاكرة المسموح بها، فستكون درجة خبثها 1000. إذا كانت تستخدم نصف ذاكرتها المسموح بها، فستكون درجتها 500.

    يوجد عامل إضافي مُضمن في درجة الخبث: تُعطى عمليات الجذر 3% ذاكرة إضافية عن المهام الأخرى.

    تعتمد كمية الذاكرة "المسموح بها" على السياق الذي استُدعي فيه قاتل OOM. إذا كان ذلك بسبب استنفاد الذاكرة المُسندة إلى مجموعة وحدات المعالجة المركزية (cpuset) للمهمة المُخصصة، فتمثل الذاكرة المسموح بها مجموعة الذواكر المُسندة إلى تلك المجموعة (انظر cpuset(7)). إذا كان بسبب استنفاد عقدة (عقد) سياسة الذاكرة (mempolicy)، فتمثل الذاكرة المسموح بها مجموعة عُقد سياسة الذاكرة. إذا كان بسبب بلوغ حد الذاكرة (أو حد المبادلة)، فالذاكرة المسموح بها هي ذلك الحد المُهيأ. أخيرًا، إذا كان بسبب نفاد ذاكرة النظام بأكمله، فتمثل الذاكرة المسموح بها جميع الموارد القابلة للتخصيص.

    تُضاف قيمة oom_score_adj إلى درجة الخبث قبل استخدامها لتحديد المهمة التي ستُقتل. تتراوح القيم المقبولة من -1000 (OOM_SCORE_ADJ_MIN) إلى +1000 (OOM_SCORE_ADJ_MAX). يسمح هذا لفضاء المستخدم بالتحكم في تفضيل قتل OOM، بدءًا من تفضيل مهمة معينة دائمًا أو تعطيلها تمامًا من قتل OOM. أدنى قيمة ممكنة، -1000، تعادل تعطيل قتل OOM بالكامل لتلك المهمة، لأنها ستُبلغ دائمًا عن درجة خبث تساوي 0.

    وبالتالي، من السهل جدًا لفضاء المستخدم تحديد كمية الذاكرة التي يجب مراعاتها لكل مهمة. على سبيل المثال، تعيين قيمة oom_score_adj بقيمة +500 يعادل تقريبًا السماح للمهام المتبقية التي تشارك نفس النظام، أو مجموعة وحدات المعالجة المركزية، أو سياسة الذاكرة، أو موارد وحدة التحكم بالذاكرة باستخدام ذاكرة أكثر بنسبة 50% على الأقل. من ناحية أخرى، فإن قيمة -500 تعادل تقريبًا خصم 50% من الذاكرة المسموح بها للمهمة من اعتبارها تسجل ضد المهمة.

    للتوافق مع الإصدارات السابقة من النواة، لا يزال بإمكان /proc/pid/oom_adj استخدامه لضبط درجة الخبث. تُقاس قيمته خطيًا مع oom_score_adj.

    الكتابة إلى /proc/pid/oom_score_adj أو /proc/pid/oom_adj ستغير الأخرى بقيمتها المقاسة.

    يوفر برنامج choom(1) واجهة سطر أوامر لضبط قيمة oom_score_adj لعملية قيد التشغيل أو أمر مُنفذ حديثًا.

التاريخ

/proc/pid/oom_adj (منذ لينكس 2.6.11)
    يُستخدم هذا الملف لضبط الدرجة المستخدمة لاختيار العملية التي يجب قتلها في حالة نفاد الذاكرة (OOM). تستخدم النواة هذه القيمة لعملية إزاحة بت لقيمة oom_score للعملية: القيم الصالحة في النطاق -16 إلى +15، بالإضافة إلى القيمة الخاصة -17، التي تعطل قتل OOM بالكامل لهذه العملية. الدرجة الموجبة تزيد احتمالية قتل هذه العملية بواسطة قاتل OOM؛ الدرجة السالبة تقلل الاحتمالية.

    القيمة المبدئية لهذا الملف هي 0؛ ترث العملية الجديدة إعداد oom_adj لعملية الأصل. يجب أن تكون العملية مميزة (CAP_SYS_RESOURCE) لتحديث هذا الملف، على الرغم من أن العملية يمكنها دائمًا زيادة إعداد oom_adj الخاص بها (منذ لينكس 2.6.20).

    منذ لينكس 2.6.36، يُهمل استخدام هذا الملف لصالح /proc/pid/oom_score_adj، وأُزيل أخيرًا في لينكس 3.7.

انظر أيضًا
proc(5), proc_pid_oom_score(5)

ترجمة
تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي <zayed.alsaidi@gmail.com>

هذه الترجمة هي وثيقة مجانية؛ راجع رخصة جنو العامة الإصدار 3 (https://www.gnu.org/licenses/gpl-3.0.html) أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات.

إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: kde-l10n-ar@kde.org.