cpupower - تحكم تردد المعالج والمحافظ
cpupower يفحص ويتحكم في نظام تحجيم تردد وحدة المعالجة المركزية (cpufreq) و idle-state (cpuidle) للنواة في Linux. يظهر ما الذي يعمل كل نوى بسرعة ويسمح لك بالتبديل إلى الحاكم الحاكم (على سبيل المثال performance للسرعة القصوى، powersave للكفاءة)، ترددات الدبوس أو الحدود، وفحص/تعطيل C-states العميقة التي تضيف زمن انتظار الاستيقاظ. إنها أداة قياسية للضغط على الأداء المتوقعة من الآلة أو توفير الطاقة على جهاز محمول.
التثبيت
| النظام الأساسي | الأمر |
|---|
| Debian/Ubuntu | sudo apt install linux-cpupower |
| Fedora/RHEL | sudo dnf install kernel-tools |
| Arch Linux | sudo pacman -S cpupower |
| التحقق | cpupower --version |
فحص الحالة
| الأمر | يظهر |
|---|
cpupower frequency-info | الحاكم والتردد الحالي/الأدنى/الأقصى والسائق |
cpupower -c all frequency-info | معلومات لجميع النوى |
cpupower idle-info | C-states المتاحة والاستخدام |
cpupower monitor | الكمون الوقت الفعلي لكل نواة/الخمول |
watch -n1 'cpupower -c all frequency-info -f' | الترددات الحية |
# نظرة سريعة على الحاكم والسرعة الحالية
cpupower frequency-info
المحافظ
| المحافظ | السلوك |
|---|
performance | تشغيل دائماً بتردد أقصى |
powersave | تفضيل أقل تردد (أو Intel_pstate min) |
ondemand | الزيادة السريعة تحت الحمل |
conservative | الزيادة الدرجية |
schedutil | توسّع مدفوع بالمجدول (الافتراضي الحديث) |
userspace | تردد تعيين يدوياً |
# انظر المحافظ المتاحين
cpupower frequency-info -g
# اضبط محافظ الأداء على جميع النوى
sudo cpupower frequency-set -g performance
ضبط التردد
| الأمر | التأثير |
|---|
sudo cpupower frequency-set -g performance | ضبط الحاكم |
sudo cpupower frequency-set -d 2.0GHz | ضبط الحد الأدنى للتردد |
sudo cpupower frequency-set -u 3.5GHz | ضبط الحد الأقصى للتردد |
sudo cpupower frequency-set -f 3.0GHz | دبوس تردد ثابت (حاكم مساحة المستخدم) |
sudo cpupower -c 0-3 frequency-set -g powersave | حاكم لكل نواة |
حالات الخمول (C-states)
حفظ قوة C-states العميقة لكن إضافة زمن انتظار الاستيقاظ — مشكلة للأحمال الحساسة الكمون.
| الأمر | التأثير |
|---|
cpupower idle-info | قائمة C-states والإقامة |
sudo cpupower idle-set -d 3 | تعطيل C-state معين |
sudo cpupower idle-set -e 3 | تمكين C-state |
sudo cpupower idle-set -D 10 | تعطيل C-states مع زمن انتظار > 10µs |
# حرج الكمون: تعطيل حالات خمول عميقة للاستيقاظ متسق
sudo cpupower idle-set -D 5
مراقبة تحت الحمل
# مشاهدة كيفية استجابة التردد والإقامة الخامل لحمل عمل
cpupower monitor -i 1
يظهر التردد لكل نواة والوقت المنقضي في كل C-state — مفيد لتأكيد تغيير الحاكم فعلياً.
جعل التغييرات مستمرة
لا يتم الاستمرار في cpupower frequency-set عبر إعادة التشغيل. الخيارات:
| الطريقة | الطريقة |
|---|
| خدمة systemd | systemctl enable cpupower مع /etc/default/cpupower |
/etc/default/cpupower | اضبط GOVERNOR="performance" |
| TuneD | دع tuned إدارة المحافظ عبر ملف تعريف |
| rc.local / وحدة | تشغيل أمر frequency-set عند الإقلاع |
سير العمل العام
# صندوق المعايير: أقفال لأداء الأرقام القابلة للتكرار
sudo cpupower frequency-set -g performance
cpupower frequency-info -f -c all # تحقق
# جهاز محمول: حفظ البطارية
sudo cpupower frequency-set -g powersave
# ضبط الكمون: محافظ الأداء + خمول ضحل
sudo cpupower frequency-set -g performance
sudo cpupower idle-set -D 5
cpupower مقابل الأدوات ذات الصلة
| الأداة | الدور |
|---|
| cpupower | تحكم التردد/الحاكم + حالة الخمول |
| tuned | ملفات تعريف النظام الكاملة (يجب اضبط المحافظ + المزيد) |
| numactl | ربط CPU/الذاكرة NUMA |
taskset | تقاربة CPU لعملية |
turbostat | قياس فروميترية لكل نواة تفصيلية |
للحصول على نهج منسق في النظام الكامل، دع tuned إدارة المحافظ؛ استخدم cpupower للتحكم والفحص المباشر لكل نواة.
الموارد