Pengaturan CPU gubernur sesuai permintaan atau konservatif

32

Saya berjuang dengan cpupowerdi ArchLinux. Saya ingin mengatur gubernur ke ondemandatau bahkan ke conservative.

Pertama jika saya lakukan $ sudo cpupower frequency-info --governors, saya hanya mendapatkannya performance powersave.

Jadi saya mencari modul yang tersedia seperti ini

ls -1 /lib/modules/`uname -r`/kernel/drivers/cpufreq/

... dan saya mengerti

acpi-cpufreq.ko.gz
amd_freq_sensitivity.ko.gz
cpufreq_conservative.ko.gz
cpufreq_powersave.ko.gz
cpufreq_stats.ko.gz
cpufreq_userspace.ko.gz
p4-clockmod.ko.gz
pcc-cpufreq.ko.gz
powernow-k8.ko.gz
speedstep-lib.ko.gz

Jadi, pertama-tama tidak ada modul untuk "ondemand" tampaknya tersedia. Apa yang saya lewatkan?

Lalu saya mencoba mengaktifkan setidaknya konservatif:

$ sudo modprobe cpufreq_conservative

maka saya periksa modulnya sebenarnya sudah dimuat

$ lsmod | grep cpufreq

dan periksa apakah sekarang tersedia

$ sudo cpupower frequency-info --governors

tapi sayangnya saya masih mendapatkan yang sama: performance powersavehanya, dan jika saya mencoba mengaktifkan konservatif

$ sudo cpupower frequency-set -g conservative

Dikatakan bahwa modul tidak tersedia.

Jadi pada dasarnya saya punya dua pertanyaan:

  1. Apa yang harus saya instal agar memiliki modul ondemand
  2. Bagaimana saya bisa mengaktifkannya?
lviggiani
sumber
1
Tergantung pada CPU Anda, tetapi kemungkinan dimuat secara otomatis. Lihat entri Arch Wiki .
jasonwryan
bisa tolong tambahkan output sudo cpupower frequency-infoke pertanyaan Anda. Jatuhkan --governorsuntuk menampilkan detail lengkap.
bsd

Jawaban:

36

Dengan asumsi gubernur Anda adalah intel_pstate (default untuk CPU Intel Sandy Bridge dan Ivy Bridge pada kernel 3.9). Masalah ini tidak khusus untuk Arch, tetapi semua distro menggunakan driver pstate Intel baru untuk mengelola frekuensi CPU / manajemen daya. Arch linux scaling frekuensi CPU .


Theodore Ts'o menulis penjelasannya di Google+ :

  • intel_pstate dapat dinonaktifkan saat boot dengan kernel arg intel_pstate=disable
  • Masalah dengan gubernur ondemand adalah bahwa ia tidak tahu kemampuan spesifik CPU
  • Menjalankan beberapa tugas dengan frekuensi yang lebih tinggi akan mengkonsumsi daya lebih sedikit daripada frekuensi yang lebih rendah dengan mengambil lebih banyak waktu misalnya hal-hal aritmatika, tetapi tidak berlaku untuk semua tugas misalnya memuat sesuatu dari memori
  • Pengandar intel_pstate tahu detail tentang bagaimana CPU bekerja dan itu melakukan pekerjaan yang lebih baik daripada solusi ACPI generik
  • intel_pstate hanya menawarkan dua gubernur, powersavedan performance. Intel mengklaim bahwa "powersave" intel_pstate lebih cepat daripada gubernur acpi umum dengan "kinerja"

Untuk mengubah kembali ke driver ACPI, reboot dan atur arg kernel intel_pstate=disable
Kemudian jalankan modprobe acpi-cpufreqdan Anda harus memiliki gubernur ondemand tersedia.

Anda dapat membuat perubahan permanen dengan mengedit /etc/default/grubdan menambahkan

GRUB_CMDLINE_LINUX_DEFAULT="intel_pstate=disable"

Dan kemudian memperbarui grub.cfgalagrub-mkconfig -o /boot/grub/grub.cfg

Ikuti instruksi untuk memuat modul kernel Arch dan tambahkan acpi-cpufreqmodul.

bsd
sumber
Pertama-tama, terima kasih atas penjelasannya. Sudah jelas sekarang. Saya akan tetap dengan intel_pstate yang sekarang terdengar bagus untuk saya. Saya menggunakan tlp untuk mengendalikan penghematan daya di laptop saya. Saya telah mengaturnya untuk menggunakan "hemat daya" dalam mode baterai dan "kinerja" di ac. Karena "kinerja" akan menjalankan CPU @ freq maksnya sepanjang waktu, apakah Anda melihat ada masalah dengan ini? (mis. CPU overheating atau situasi lain yang dapat menyebabkan masalah HW)
lviggiani
Saya menemukan bahwa secara umum laptop perlu dibersihkan secara teratur, sebagian dibongkar untuk mendapatkan udara tekan dan meniup debu, kotoran dan rambut kucing. Tidak perlu untuk kinerja 100% dari waktu hanya karena seseorang berkuasa, biasanya rencana seimbang yang baik akan mendongkrak cpu sesuai kebutuhan.
bsd
1
Ada perbedaan antara gubernur acpi generik performancedan intel_pstate performance, kan? Yang terakhir lebih cepat dari yang pertama dan intel_pstate powersave?
tsorn