Ich verwende Ubuntu 14.04 (3.13.0-24-generischer Kernel) auf einem AMD A8-4500m-basierten Laptop und habe kürzlich festgestellt, dass AMD Turbo Core überhaupt nicht funktioniert. Unter Windows funktioniert alles, aber unter Linux kann die CPU-Frequenz nicht über 1,9 GHz hinausgehen (aktiviert mit cpufreq-aperf
).
Hier ist die Ausgabe von cpupower frequency-info
, Hinweis Aktiv: Nein unter Boost-Status-Unterstützung:
analyzing CPU 0:
driver: acpi-cpufreq
CPUs which run at the same hardware frequency: 0
CPUs which need to have their frequency coordinated by software: 0
maximum transition latency: 4.0 us.
hardware limits: 1.40 GHz - 1.90 GHz
available frequency steps: 1.90 GHz, 1.80 GHz, 1.70 GHz, 1.60 GHz, 1.40 GHz
available cpufreq governors: conservative, ondemand, userspace, powersave, performance
current policy: frequency should be within 1.90 GHz and 1.90 GHz.
The governor "ondemand" may decide which speed to use
within this range.
current CPU frequency is 1.90 GHz (asserted by call to hardware).
cpufreq stats: 1.90 GHz:32,63%, 1.80 GHz:0,74%, 1.70 GHz:0,50%, 1.60 GHz:1,20%, 1.40 GHz:64,93% (9287)
boost state support:
Supported: yes
Active: no
Boost States: 2
Total States: 8
Pstate-Pb0: 2800MHz (boost state)
Pstate-Pb1: 2300MHz (boost state)
Pstate-P0: 1900MHz
Pstate-P1: 1800MHz
Pstate-P2: 1700MHz
Pstate-P3: 1600MHz
Pstate-P4: 1400MHz
Pstate-P5: 900MHz
Weitere Tests (ausgeführt mit On-Demand-Scheduler und 3 Instanzen von ffmpeg, die 1920x1080 H.264-Videos im Hintergrund dekodieren):
[m132@m132 turbostat]$ sudo cpupower monitor
[sudo] password for m132:
|Mperf || Idle_Stats
CPU | C0 | Cx | Freq || POLL | C1 | C2
0| 97,78| 2,22| 1821|| 0,00| 0,00| 0,00
1| 97,84| 2,16| 1821|| 0,00| 0,00| 0,00
2| 99,22| 0,78| 1807|| 0,00| 0,00| 0,00
3| 99,18| 0,82| 1808|| 0,00| 0,00| 0,00
[m132@m132 turbostat]$ sudo ./turbostat
cor CPU GHz TSC time
1.81 1.90 5**
0 0 1.81 1.90 5**
1 1 1.81 1.90
2 2 1.80 1.90
3 3 1.81 1.90
EDIT: Es scheint, als hätten Prozessoren der Trinity-Serie einen eigenen BAPM-Switch in der Quelle. Es befindet sich in drivers / gpu / drm / radeon / trinity_dpm.c und ist (zum Zeitpunkt des Schreibens) aufgrund von Stabilitätsproblemen nur für MSI-Boards aktiviert. Um es zu aktivieren, öffnen Sie diese Datei und suchen Sie diese Zeile:
pi->enable_bapm = false;
Ändern Sie false in true, kompilieren Sie den neuen Kernel und installieren Sie ihn. Sie sollten jetzt einen Kernel-Panik- Boost erhalten. Beachten Sie, dass die CPU-Leistung auch mit der GPU geteilt wird, sodass Sie fast nie die höchste verfügbare Frequenz erhalten, wenn die GPU ebenfalls verwendet wird.
quelle
cpufreq-aperf
meldet manchmal eine Frequenz von 2 GHz, schaltet aber immer noch nicht auf 2,3 GHz oder 2,8 GHz um, wie unter Windows.nomodeset
in der Kernel-Befehlszeile) zu deaktivieren ? Dies hat dieses Problem für mich behoben.Active: yes
, aber ich gehe davon aus, dass diese Informationen falsch sind, da keine Pstates angezeigt werden undcpufreq-aperf
immer noch keine Frequenz über 1,9 GHz gemeldet wird. Außerdem erzwang es für mich die Verwendung von Software OpenGL Renderer.turbostat
odercpupower monitor
? Zeigen sie, dass Turbo benutzt wird?Antworten:
[Update 2015]
Ab Linux 3.16:
Der Wert für
bapm
kann als Modulparameter angegeben werden (siehe hier ).Der Wert von
bapm
ist für Kaveri, Kabini und Desktop Trinity, Richland-Systeme (siehe hier ) standardmäßig auf 1 gesetzt , wodurch Turbo Core aktiviert wird.Das bedeutet , dass mit Kernel 3.16 oder höher, Turbo Core sollte direkt aus der Box mit der Arbeit
radeon
in vielen Fällen.Wenn Sie Debian ausführen oder wenn Sie Ubuntu ausführen und das oben Gesagte für Sie nicht zutrifft, lesen Sie bitte Einrichten eines Debian-Systems (Fokus auf 2D oder Konsole / Server) mit einer AMD Turbo Core-APU für maximale Energie und Recheneffizienz ?
[Update 2014-Aug-07]
Ich habe eine detaillierte Analyse veröffentlicht,
unix-stackexchange.com
die (zumindest für mich) einige Überraschungen enthält. Zum Beispiel, dass derondemand
Gouverneur möglicherweise schlechter ist alsperformance
(zumindest beim Richland A10-6700) undfglrx
anscheinend einige fragwürdige Tricks einsetzt, um kurzfristige Boosts zu verbessern, und dies auf lange Sicht abrupt kompensieren muss. Ich bin froh, dass ich mir das genauer angesehen habe.[Originalantwort]
Ich bin dabei, ein System mit einem A10-6700 unter Verwendung von Ubuntu 14.04 Server zu konfigurieren.
cat /proc/cpuinfo
spiegelt keinen Prozessor-Boost wider und wird dies auch nicht tun. Der Boost ist eine autonome Entscheidung auf dem Chip, die auf potenziell komplexen Kriterien basiert. Lesen Sie hier darüber .cpufreq-info
zeigt nicht die verfügbaren Boost-Frequenzen an, sondern die Ausgabe voncpupower frequency-info
will. Für den A10-6700 sollten zusätzlich zu den regulären 3700, 3400, 2700, 2300 und 1800 MHz 4300 MHz (Pb0), 4200 MHz (Pb1) und 3900 MHz (Pb2) angezeigt werden.cpufreq-aperf
(nachmodprobe msr
) ist vergleichbar mit der Ausgabe voncpupower monitor
. Die von diesen Werkzeugen angezeigten Frequenzen sollen Boosts widerspiegeln.radeon
Videotreiber oder sogar dem Modul im Kernel gelang es mir nicht, den A10-6700 dazu zu bringen, eine Boost-Frequenz zu verwenden (usingstress --cpu 2
).fglrx
Modul in den Kernel geladen ist, erhöht der Prozessor zwei Kerne permanent (und anscheinend auch die verbleibenden Kerne vorübergehend). Dies wurde getestet, ohne dass X verwendet oder konfiguriert wurde.Denken Sie daran, dass die Entscheidung für oder gegen den Boost von der APU autonom getroffen wird. Ich vermute zu diesem Zeitpunkt, dass die APU nicht entscheiden kann, ob ihre aktuelle Verlustleistung Raum für einen Boost lässt, es sei denn, die integrierte Grafikeinheit ist ausreichend initialisiert.
Die Videoausgabe mit dem Standardmodul unterscheidet sich von der Ausgabe beim Laden von fglrx. Daher können wir nur raten, ob der Kernel die APU selbst in den vermutlich erforderlichen "Smart" -Modus (Power Loss Aware) versetzen kann, während das VGA-Modul weiterhin verwendet wird.
Bis dies geklärt ist, werde ich einfach laden
fglrx
. Der Nachteil ist, dass für die Erstellung eine Menge Dinge erforderlich sind, die Sie nicht auf einem Server haben möchten und die nach dem Kompilieren gelöscht werden müssen.Auch
fglrx
ist fast 9 MB groß. Es ist kein Problem, aber zu wissen, dass es in diesem Fall meistens tote Fracht ist, macht mich nicht allzu glücklich.[Bearbeiten 2014-Jul-24]
Ich habe diesen Fehler jetzt gemeldet .
Ich habe festgestellt, dass ein weiterer Fehler gemeldet wurde: Wenn Sie tatsächlich den Dynamic Power Management- Modus verwenden
fglrx
und versuchen, diesen zu verwenden .quelle
Ich habe das gleiche Problem mit meinem Thinkpad, auf dem unter Ubuntu 13.10 derselbe AMD A8-4500m ausgeführt wird. Ich habe das heute gefunden, aber mein Englisch ist nicht so gut, also habe ich es nicht verstanden.
https://www.kernel.org/doc/Documentation/cpu-freq/boost.txt
Möge es für Sie hilfreich sein.
Der Hauptanfang, den ich gefunden habe, ist, dass der Turbo Core seit 11.10 nicht mehr unterstützt wird. Das ist alles was ich gefunden habe. Bitte beweisen Sie mir, dass ich falsch liege.
quelle