باستخدام أوامر "Nice" و "Renice" في Linux

كل شيء عن الأولويات.

تستطيع أنظمة Linux تشغيل العديد من العمليات (الوظائف) في وقت واحد. حتى إذا كانت وحدة المعالجة المركزية لديها معالجات أو نوى متعددة ، فإن عدد العمليات يتجاوز بشكل عام عدد النوى المتاحة. إنها مهمة Linux kernel لتوزيع دورات CPU المتوفرة على العمليات النشطة.

جميل أن تحصل على الأولويات على التوالي

بشكل افتراضي ، تعتبر كافة العمليات العاجلة بشكل متساو ويتم تخصيص نفس مقدار وقت وحدة المعالجة المركزية (CPU). لتمكين المستخدم من تغيير الأهمية النسبية للعمليات ، يقوم Linux بربط معلمة الأولوية بكل مهمة يمكن تعيينها أو تغييرها بواسطة المستخدم. تحتفظ نواة لينكس بعد ذلك بوقت وحدة المعالجة المركزية لكل عملية على أساس قيمة الأولوية النسبية لها.

يتم استخدام المعلمة اللطيفة لهذا الغرض. يتراوح من 20 إلى 19 زائد ويمكن أن يأخذ قيم صحيحة فقط. تمثل قيمة ناقص 20 أعلى مستوى للأولوية ، بينما تمثل القيمة 19 الأقل. وحقيقة أن أعلى مستوى للأولوية يشار إليه بأكثر عدد سلبي هي غير واضحة إلى حد ما ؛ ومع ذلك ، يعتبر تشغيل بأفضلية أقل "أجمل" ، لأنه يسمح العمليات الأخرى لاستخدام حصة أكبر من وقت وحدة المعالجة المركزية (CPU).

كيف تلعب لطيفة

باستخدام الأمر الجميل يبدأ عملية جديدة (مهمة) ويعينها قيمة (لطيفة) الأولوية في نفس الوقت. لتغيير أولوية عملية قيد التشغيل بالفعل ، استخدم renice الأمر.

على سبيل المثال ، يبدأ سطر الأوامر التالي عملية "مهمة كبيرة" ، بتعيين قيمة لطيفة إلى 12:

لطيفة -12 كبيرة

لاحظ أن الشرطة أمام 12 لا تمثل علامة الطرح. لديه الوظيفة المعتادة لوضع علامة على العلم الذي تم تمريره كوسيطة للأمر الجميل.

لتعيين قيمة لطيفة إلى 12 ، أضف شرطة أخرى:

لطيفة - 12 وظيفة كبيرة

تذكر أن قيم لطيفة أقل تتوافق مع أولوية أعلى. لذلك ، -12 له أولوية أعلى من 12. القيمة اللطيفة الافتراضية هي 0. يمكن للمستخدمين العاديين تحديد أولويات أقل (قيم لطيفة موجبة). لاستخدام أعلى الأولويات (قيم لطيفة سالبة) ، مطلوب امتيازات المسؤول.

يمكنك تغيير أولوية مهمة قيد التشغيل بالفعل باستخدام renice:

renice 17 -p 1134

هذا يغير قيمة لطيفة من المهمة مع معرف العملية 1134 إلى 17. في هذه الحالة ، لا يتم استخدام شرطة لتحديد الخيار عند تحديد القيمة اللطيفة. يتغير الأمر التالي القيمة الحسنة لعملية 1134 إلى -3:

renice -3 -p 1134

لطباعة قائمة بالعمليات الحالية ، استخدم الأمر ps. تسرد إضافة "l" (كما في "قائمة") القيمة اللطيفة تحت عنوان العمود "NI." فمثلا:

ps -al