Ubuntu 13,04 penskalaan frekuensi CPU 'macet' pada frekuensi terendah

10

Saya baru saja menginstal Ubuntu 13.04 di MacBook Air saya, setelah bermain-main untuk sementara waktu mesin terasa sangat lambat, jadi saya memeriksa frekuensi CPU. cpufreq-info, ini melaporkan 800MHz pada semua 4 core (yang merupakan pengaturan terendah). Gubernur diatur ke permintaan. Sekarang ketika saya menaruh beberapa beban pada sistem (menjalankan skrip kecil yang hash barang empat kali) mesin grind ditahan, tetapi cpufreq-info masih melaporkan 800MHz. Saya dapat secara manual mengatur frekuensi ke 2GHz, yang memecahkan masalah kinerja, tetapi saya akan dikenakan biaya baterai saya.

Ini adalah output dari cpufreq-info:

cpufrequtils 008: cpufreq-info (C) Dominik Brodowski 2004-2009
Report errors and bugs to [email protected], please.
analyzing CPU 0:
  driver: acpi-cpufreq
  CPUs which run at the same hardware frequency: 0 1 2 3
  CPUs which need to have their frequency coordinated by software: 0
  maximum transition latency: 10.0 us.
  hardware limits: 800 MHz - 2.00 GHz
  available frequency steps: 2.00 GHz, 2.00 GHz, 1.90 GHz, 1.80 GHz, 1.70 GHz, 1.60 GHz, 1.50 GHz, 1.40 GHz, 1.30 GHz, 1.20 GHz, 1.10 GHz, 1000 MHz, 900 MHz, 800 MHz
  available cpufreq governors: conservative, ondemand, userspace, powersave, performance
  current policy: frequency should be within 800 MHz and 2.00 GHz.
                  The governor "ondemand" may decide which speed to use
                  within this range.
  current CPU frequency is 800 MHz (asserted by call to hardware).
  cpufreq stats: 2.00 GHz:5,75%, 2.00 GHz:0,47%, 1.90 GHz:0,00%, 1.80 GHz:0,01%, 1.70 GHz:0,01%, 1.60 GHz:0,01%, 1.50 GHz:0,01%, 1.40 GHz:0,01%, 1.30 GHz:0,01%, 1.20 GHz:0,02%, 1.10 GHz:0,01%, 1000 MHz:0,02%, 900 MHz:0,02%, 800 MHz:93,67%  (1388)
analyzing CPU 1:
  driver: acpi-cpufreq
  CPUs which run at the same hardware frequency: 0 1 2 3
  CPUs which need to have their frequency coordinated by software: 1
  maximum transition latency: 10.0 us.
  hardware limits: 800 MHz - 2.00 GHz
  available frequency steps: 2.00 GHz, 2.00 GHz, 1.90 GHz, 1.80 GHz, 1.70 GHz, 1.60 GHz, 1.50 GHz, 1.40 GHz, 1.30 GHz, 1.20 GHz, 1.10 GHz, 1000 MHz, 900 MHz, 800 MHz
  available cpufreq governors: conservative, ondemand, userspace, powersave, performance
  current policy: frequency should be within 800 MHz and 2.00 GHz.
                  The governor "ondemand" may decide which speed to use
                  within this range.
  current CPU frequency is 800 MHz (asserted by call to hardware).
  cpufreq stats: 2.00 GHz:3,17%, 2.00 GHz:0,01%, 1.90 GHz:0,01%, 1.80 GHz:0,00%, 1.70 GHz:0,00%, 1.60 GHz:0,01%, 1.50 GHz:0,01%, 1.40 GHz:0,01%, 1.30 GHz:0,01%, 1.20 GHz:0,01%, 1.10 GHz:0,01%, 1000 MHz:0,02%, 900 MHz:0,02%, 800 MHz:96,71%  (1433)
analyzing CPU 2:
  driver: acpi-cpufreq
  CPUs which run at the same hardware frequency: 0 1 2 3
  CPUs which need to have their frequency coordinated by software: 2
  maximum transition latency: 10.0 us.
  hardware limits: 800 MHz - 2.00 GHz
  available frequency steps: 2.00 GHz, 2.00 GHz, 1.90 GHz, 1.80 GHz, 1.70 GHz, 1.60 GHz, 1.50 GHz, 1.40 GHz, 1.30 GHz, 1.20 GHz, 1.10 GHz, 1000 MHz, 900 MHz, 800 MHz
  available cpufreq governors: conservative, ondemand, userspace, powersave, performance
  current policy: frequency should be within 800 MHz and 2.00 GHz.
                  The governor "ondemand" may decide which speed to use
                  within this range.
  current CPU frequency is 800 MHz (asserted by call to hardware).
  cpufreq stats: 2.00 GHz:2,69%, 2.00 GHz:0,00%, 1.90 GHz:0,01%, 1.80 GHz:0,01%, 1.70 GHz:0,01%, 1.60 GHz:0,02%, 1.50 GHz:0,01%, 1.40 GHz:0,01%, 1.30 GHz:0,02%, 1.20 GHz:0,02%, 1.10 GHz:0,01%, 1000 MHz:0,02%, 900 MHz:0,02%, 800 MHz:97,16%  (1194)
analyzing CPU 3:
  driver: acpi-cpufreq
  CPUs which run at the same hardware frequency: 0 1 2 3
  CPUs which need to have their frequency coordinated by software: 3
  maximum transition latency: 10.0 us.
  hardware limits: 800 MHz - 2.00 GHz
  available frequency steps: 2.00 GHz, 2.00 GHz, 1.90 GHz, 1.80 GHz, 1.70 GHz, 1.60 GHz, 1.50 GHz, 1.40 GHz, 1.30 GHz, 1.20 GHz, 1.10 GHz, 1000 MHz, 900 MHz, 800 MHz
  available cpufreq governors: conservative, ondemand, userspace, powersave, performance
  current policy: frequency should be within 800 MHz and 2.00 GHz.
                  The governor "ondemand" may decide which speed to use
                  within this range.
  current CPU frequency is 800 MHz (asserted by call to hardware).
  cpufreq stats: 2.00 GHz:3,07%, 2.00 GHz:0,02%, 1.90 GHz:0,01%, 1.80 GHz:0,00%, 1.70 GHz:0,01%, 1.60 GHz:0,01%, 1.50 GHz:0,01%, 1.40 GHz:0,01%, 1.30 GHz:0,01%, 1.20 GHz:0,01%, 1.10 GHz:0,03%, 1000 MHz:0,03%, 900 MHz:0,01%, 800 MHz:96,77%  (1004)
pengguna159534
sumber

Jawaban:

4

Saya memiliki masalah yang sama pada versi terbaru dari Mint, menetapkan skala untuk konservatif tampaknya menjadi yang paling dekat dengan bagaimana ondemand digunakan untuk bekerja.

Lalu saya menemukan apa masalahnya, up_threshold terlalu tinggi, ditetapkan untuk memuat 95%, sekarang ini baik untuk beban yang berlanjut, tetapi dalam kebanyakan kasus ada ledakan kecil aktivitas CPU, dan Anda ingin CPU untuk skala ke kecepatan 100% jauh lebih cepat. Saya menyelesaikan ini dengan menetapkan th up_threshold lebih rendah (75 tampaknya baik-baik saja dalam kasus saya). Anda mengubahnya dengan mengumandangkan nilai yang diinginkan ke /sys/devices/system/cpu/cpufreq/ondemand/up_threshold.

pengguna165241
sumber
2

Saya menyarankan agar Anda menggunakan Apakah ada aplikasi penghemat daya yang mirip dengan Jupiter?

Dan gunakan indikator-cpufreq, sehingga Anda harus tahu apa freq Anda. periksa tautan yang saya tempelkan cara menginstal / mengkonfigurasi indikator-cpufreq

Apakah ada aplikasi penghemat daya yang mirip dengan Jupiter? Bagian 3.) Prosesor dan Penskalaan Frekuensi

ondemand        Dynamically switch between CPU(s) available if at 95% cpu load

Pertahankan Cpu tetap rendah, hanya melebihi jika pada beban cpu 95%

performance     Run the cpu at max frequency

conservative    Dynamically switch between CPU(s) available if at 75% load

Pertahankan Cpu tetap rendah, hanya melebihi jika pada beban cpu 75%

powersave       Run the cpu at the minimum frequency
Qasim
sumber
0

Saya mengalami masalah ini pada 14,04 - 16,04 (mulai hari ini). Untuk mengatasinya saya harus memaksa Ubuntu untuk mengabaikan pembatasan bios. Berikut ini bekerja untuk saya:

Buka grub:

sudo vim /etc/default/grub

Ganti baris GRUB_CMDLINE_LINUX_DEFAULT:

- GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
+ GRUB_CMDLINE_LINUX_DEFAULT="quiet splash intel_pstate=disable processor.ignore_ppc=1"

Perbarui grub:

sudo update-grub

Reboot lalu:

echo 1 | sudo dd of=/sys/module/processor/parameters/ignore_ppc
echo 2900000 | sudo dd of=/sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq 
echo 2900000 | sudo dd of=/sys/devices/system/cpu/cpu1/cpufreq/scaling_max_freq 
echo 2900000 | sudo dd of=/sys/devices/system/cpu/cpu2/cpufreq/scaling_max_freq 
echo 2900000 | sudo dd of=/sys/devices/system/cpu/cpu3/cpufreq/scaling_max_freq 

Bekerja untukku. Periksa jumlah core cpu dan perbarui semua sesuai. Anda mungkin ingin meletakkan baris-baris tambahan itu di /etc/rc.local sehingga dieksekusi di setiap boot.

Sunting Ninja: Ganti 2900000 di atas dengan nilai dalam:

cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq
benvand
sumber
Apakah penskalaan frekuensi berfungsi dengan baik setelah ini, sementara & kinerja semua sama atau lebih baik? Dan Anda membaca /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freqlalu menulis nilai yang sama kembali ke sana? Mengapa? Apakah penulisan 1 untuk ignore_ppcmengubah nilai? (PS bisa menggunakan teeatau hanya >sebagai gantinya dd)
Xen2050