UCLAMPSET(1) أوامر المستخدم UCLAMPSET(1)

uclampset - معالجة سمات تقييد الاستخدام (utilization clamping) للنظام أو لعملية ما

uclampset [خيارات] [-m الأدنى] [-M الأقصى] -p معرّف-العملية

uclampset [خيارات] [-m الأدنى] [-M الأقصى] أمر [وسيط...]

يضبط uclampset أو يسترجع سمات تقييد الاستخدام لمعرف عملية معرّف-العملية موجود، أو يُشغّل أمرًا بالسمات المعطاة.

تقييد الاستخدام ميزة جديدة وُضعت في الإصدار 5.3. وهي تعطي تلميحًا للمجدول حول النطاق المسموح به للاستخدام الذي يجب أن تعمل المهمة ضمنه.

يؤثر استخدام المهمة على اختيار التردد وتوزيع المهام. يفهم حاكم (governor) schedutil cpufreq فقط كيفية التعامل مع تلميحات تقييد الاستخدام في وقت كتابة هذا المستند. راجع وثائق النواة لمزيد من المعلومات حول دعم حكام cpufreq الآخرين.

إذا كنت تعمل على نظام غير متماثل وغير متجانس مثل Arm’s big.LITTLE، فإن تقييد الاستخدام يمكن أن يساعد في توجيه توزيع المهام. إذا عُززت المهمة بحيث تكون قيمة util_min أعلى من سعة النوى الصغيرة (little cores)، فسيبذل المجدول قصارى جهده لوضعها على نواة كبيرة (big core).

بالمثل، إذا كانت util_max أصغر من أو تساوي سعة النوى الصغيرة، فيمكن للمجدول أن يختار وضعها هناك حتى لو كان الاستخدام الفعلي للمهمة في حده الأقصى.

إن ضبط uclamp_min للمهمة على قيمة غير صفرية سيؤدي فعليًا إلى تعزيز المهمة، حيث إنها ستبدأ دائمًا من قيمة الاستخدام هذه عند تشغيلها.

بضبط uclamp_max للمهمة تحت 1024، سيؤدي هذا فعليًا إلى سقف المهمة بحيث لا يمكنها أبدًا تجاوز قيمة الاستخدام هذه عند تشغيلها.

نطاق الاستخدام الكامل هو: [0:1024]. تُستخدم القيمة الخاصة -1 لإعادة الضبط إلى القيمة المبدئية للنظام.

راجع أحدث وثائق النواة لمزيد من التفاصيل:

-m

اضبط قيمة util_min.

-M

اضبط قيمة util_max.

-a، --all-tasks

اضبط أو استرجع سمات تقييد الاستخدام لكافة المهام (الخيوط) لمعرف عملية (PID) محدد.

-p، --pid

اعمل على PID موجود ولا تطلق مهمة جديدة.

-s، --system

اضبط أو استرجع سمات تقييد الاستخدام على مستوى النظام ككل.

-R، --reset-on-fork

اضبط علامة SCHED_FLAG_RESET_ON_FORK.

-v، --verbose

أظهر معلومات الحالة.

-h، --help

اعرض نص المساعدة ثم اخرج.

-V، --version

اعرض الإصدار واخرج.

السلوك المبدئي هو تشغيل أمر جديد:

uclampset [-m uclamp_min] [-M uclamp_max] أمر وسائط]

يمكنك أيضًا استرجاع سمات تقييد الاستخدام لمهمة موجودة:

uclampset -p معرّف-العملية

أو اضبطها:

uclampset -p معرّف-العملية [-m uclamp_min] [-M uclamp_max]

أو اضبط سمات النظام الشاملة:

uclampset -s [-m uclamp_min] [-M uclamp_max]

يجب أن يمتلك المستخدم CAP_SYS_NICE لتغيير سمات الجدولة لـ عملية ما. يمكن لأي مستخدم استرجاع معلومات الجدولة.

تُستخدم سمات تقييد الاستخدام (utilization clamp) الشاملة للنظام للتحكم في النطاق المسموح للمهام باستخدامه. تُضبط قيمتا uclamp_min و uclamp_max مبدئيًا على 1024. وهذا يعني أن بإمكان المستخدمين ضبط قيم تقييد الاستخدام لمهامهم عبر النطاق الكامل [0:1024].

على سبيل المثال:

uclampset -s -m 512 -M 700

سيمنع هذا أي مهمة من أن تُعزز لدرجة أعلى من 512. كما تُقيد كافة المهام في النظام عند مستوى استخدام 700. مما يجعل الأداء الأقصى للنظام فعليًا عند 700.

راجع وثائق النواة لمعرفة السلوك المتوقع بدقة على تلك النواة.

Qais Yousef <qyousef@layalina.io>

nice(1)، renice(1)، taskset(1)، sched(7)

انظر sched_setscheduler(2) و sched_setattr(2) للحصول على وصف لمخطط جدولة لينكس.

لتقارير العِلل، استخدم مُتتبع المشكلات https://github.com/util-linux/util-linux/issues.

الأمر uclampset جزء من حزمة util-linux التي يمكن تنزيلها من أرشيف نواة لينكس https://www.kernel.org/pub/linux/utils/util-linux/.

2026-09-02 util-linux 2.42.3