Ubuntu 13.04 CPU-Frequenzskalierung bleibt bei niedrigster Frequenz hängen

10

Ich habe gerade Ubuntu 13.04 auf meinem MacBook Air installiert, nachdem ich eine Weile herumgespielt hatte, fühlte sich die Maschine sehr langsam an, also habe ich die CPU-Frequenz überprüft. cpufreq-info meldet 800 MHz auf allen 4 Kernen (dies ist die niedrigste Einstellung). Der Gouverneur ist auf Abruf eingestellt. Wenn ich jetzt das System etwas belaste (indem ich ein kleines Skript ausführe, das viermal hascht), wird die Maschine angehalten, aber cpufreq-info meldet immer noch 800 MHz. Ich kann die Frequenz manuell auf 2 GHz einstellen, was das Leistungsproblem löst, aber meinen Akku kostet.

Dies ist die Ausgabe von 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)
user159534
quelle

Antworten:

4

Ich hatte das gleiche Problem mit der neuesten Version von Mint. Die Skalierung auf konservativ zu setzen schien der Arbeitsweise von ondemand am nächsten zu kommen.

Dann fand ich heraus, was das Problem war, der up_threshold war viel zu hoch, er wurde auf 95% Last eingestellt, jetzt ist dies in Ordnung für fortgesetzte Lasten, aber in den meisten Fällen gibt es einen kleinen Ausbruch der CPU-Aktivität, und Sie möchten die CPU viel schneller auf 100% Geschwindigkeit skalieren. Ich habe dies behoben, indem ich den up_threshold niedriger eingestellt habe (75 scheint in meinem Fall in Ordnung zu sein). Sie ändern es, indem Sie den gewünschten Wert auf wiederholen /sys/devices/system/cpu/cpufreq/ondemand/up_threshold.

user165241
quelle
2

Ich würde vorschlagen, dass Sie verwenden sollten Gibt es eine Energiesparanwendung ähnlich wie Jupiter?

Und verwenden Sie Indicator-Cpufreq, damit Sie wissen, auf welcher Frequenz Sie sich befinden. Überprüfen Sie den Link, den ich eingefügt habe, wie Indikator-cpufreq installiert / konfiguriert wird

Gibt es eine Energiesparanwendung ähnlich wie Jupiter? Abschnitt 3.) Prozessor- und Frequenzskalierung

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

Halten Sie die CPU niedrig, überschreiten Sie sie nur bei einer CPU-Belastung von 95%

performance     Run the cpu at max frequency

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

Halten Sie die CPU niedrig, überschreiten Sie sie nur bei einer CPU-Belastung von 75%

powersave       Run the cpu at the minimum frequency
Qasim
quelle
0

Ich hatte dieses Problem am 14.04 - 16.04 (ab heute). Um es zu lösen, musste ich Ubuntu zwingen, die BIOS-Begrenzung zu ignorieren. Folgendes hat bei mir funktioniert:

Open Grub:

sudo vim /etc/default/grub

Ersetzen Sie die Zeile GRUB_CMDLINE_LINUX_DEFAULT:

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

Update Grub:

sudo update-grub

Starten Sie dann neu:

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 

Hat für mich gearbeitet. Überprüfen Sie die Anzahl der CPU-Kerne und aktualisieren Sie alle entsprechend. Möglicherweise möchten Sie diese zusätzlichen Zeilen in /etc/rc.local einfügen, damit sie bei jedem Start ausgeführt werden.

Ninja bearbeiten: Ersetzen Sie 2900000 oben durch den Wert in:

cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq
benvand
quelle
Funktionierte die Frequenzskalierung danach in Ordnung, Temps & Performance gleich oder besser? Und Sie lesen /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freqund schreiben dann den gleichen Wert zurück? Warum? Schreibt 1, ignore_ppcum die Werte zu ändern? (PS könnte verwenden teeoder nur >anstelle von dd)
Xen2050