Ryzen 8700G taktet nach Booten im Leerlauf nicht auf Minimum

Donnerkind

Lt. Commander
Registriert
Juli 2014
Beiträge
1.889
Liebe alle,

[Bitte fülle den folgenden Fragebogen unbedingt vollständig aus, damit andere Nutzer dir effizient helfen können. Danke! :)]

1. Nenne uns bitte deine aktuelle Hardware:
(Bitte tatsächlich hier auflisten und nicht auf Signatur verweisen, da diese von einigen nicht gesehen wird und Hardware sich ändert)

2. Beschreibe dein Problem. Je genauer und besser du dein Problem beschreibst, desto besser kann dir geholfen werden (zusätzliche Bilder könnten z. B. hilfreich sein):
Wenn ich den Rechner hochfahre, dann sagt mir cpupower unter Linux:
Code:
# cpupower frequency-info
CPU 4 wird analysiert:
  driver: amd-pstate-epp
  CPUs, die mit der gleichen Hardwarefrequenz laufen: 4
  CPUs, die ihre Frequenz mit Software koordinieren müssen: 4
  energy performance preference: balance_performance
  Hardwarebegrenzungen: 423 MHz - 5.18 GHz
  verfügbare cpufreq-Regler: performance powersave
  momentane Richtlinie: Frequenz sollte innerhalb 2.40 GHz und 4.60 GHz.
                    sein. Der Regler "powersave" kann frei entscheiden,
                    welche Geschwindigkeit er in diesem Bereich verwendet.
  current CPU frequency: 2.96 GHz (asserted by call to kernel)
  boost state support:
    Unterstützt: ja
    Aktiv: ja
  amd-pstate limits:
    Highest Performance: 196. Maximum Frequency: 5.18 GHz.
    Nominal Performance: 159. Nominal Frequency: 4.20 GHz.
    Lowest Non-linear Performance: 91. Lowest Non-linear Frequency: 2.40 GHz.
    Lowest Performance: 16. Lowest Frequency: 400 MHz.
    Preferred Core Support: 1. Preferred Core Ranking: 226.
Relevant ist die Zeile „momentane Richtlinie: Frequenz sollte innerhalb 2.40 GHz und 4.60 GHz“. Man könnte meinen, da schießt eine Einstellung in Linux quer, dass da nicht 400 MHz steht, jedoch finde ich unter /etc keine relevante Erwähnung von “2400“ oder „2.4“. Aber in Windows sieht es ähnlich aus. Ich muss zugeben, dass ich von Windows und dessen Energieplänen dieser Tage kaum noch Ahnung habe (zu XP-Zeiten hatte ich Drittsoftware zur Taktkontrolle auf dem Laptop genutzt). Ich habe meinem Spiele-Windows-10 mit Bordmitteln versucht beizubringen „du darfst zwischen X und Y dynamisch takten, wenn die Last gebraucht wird“. Aber der Task Manager zeigt dauerhaft 2400 MHz an (bzw. jetzt im Screenshot sogar noch mehr), auch im Leerlauf. Ich habe hwinfo64 befragt, das sagt mir schon wieder andere, aber ebenfalls sehr hohe Werte.

3. Welche Schritte hast du bereits unternommen/versucht, um das Problem zu lösen und was hat es gebracht?
Das oben bei cpupower frequency-info zu sehende Maximum von 4,6 GHz habe ich selber eingerichtet, weil Frequenzen ab etwa hier anfangen, ineffizient zu werden, was bei dieser Kühler-Gehäuse-Kombi zu Lärm führt. Ich habe zurzeit keine Einstellung aktiv, die die minimale Frequenz setzt. Das wäre natürlich ebenfalls mit cpupower schnell gelöst, aber ich würde gern noch die Hintergründe verstehen.

Unter Windows habe ich die entsprechenden Optionen im Energieprofil gesucht und auf Minimalwerte gestellt (siehe Screenshot 1).

P.S.: Beachte auch die verschiedenen angepinnten Themen und die Forensuche. Möglicherweise findest du da bereits die Lösung zu deinem Problem.

Wenn ich nach Ryzen, 2400 MHz, Takt und ähnlichem suche, finde ich immer nur RAM-Themen. Vielleicht interpretiere ich schlicht die Daten falsch und es ist ein Nicht-Problem. Aber ich würds gern verstehen.

Hier die Windows-Einstellungen – ich hab das Minimum auf 0 gestellt und das Maximum auch erstmal hoch:
1. Power Profile.png
Und hier ist, was mit die Sensorenwerte sagen:
2. HWInfo.png3. Task Manager.png4. Clock.png

Lieben Dank für Eure Einblicke.
 
Zumindest unter Windows funktioniert das Anzeigen der Taktfrequenz mit dem Ryzen Master wunderbar.
Zeigt immer die aktuellen Taktungen der Kerne an.
Hatte vorher auch das "Problem", daß scheinbar die Taktfrequenz nicht runter geht, im Taskmanager.

Wie mein Vorredner sagte: taktet wahrscheinlich so schnell hin und her, daß gewissen Programme es nicht anzeigen können.
 
Ja, ich kann @halbtuer2 bestätigen, dass der Ryzen Master das beste Tool ist um die aktuelle Taktung auszulesen. HWInfo ist wohl auch zu träge, zumindest bei mir wird der niedrigste Takt nicht korrekt angezeigt.
 
Donnerkind schrieb:
Aber der Task Manager zeigt dauerhaft 2400 MHz an
Der Task Manager kennt nur Takte bei aktiver Nutzung. Immer wenn bei der CPU die Frequenz abgefragt wird, weckt man sie dafür auf. Inaktive Kerne wechseln heutzutage nicht auf einen niedrigen Takt, sondern sie werden abgeschaltet. Der Takt ist dann null.

Programme wie HWiNFO und Ryzen Master zeigen daher einen "effektiven Takt" an, der als Mittelwert über das Messintervall berechnet wird. Ist ein Kern bei einer Sekunde Messintervall 950ms aus und dann 50ms auf 2400 MHz, liegt der effektive Takt bei 120 MHz.

Das dauerhafte Monitoring ist übrigens selber dafür verantwortlich, wenn Kerne nicht länger schlafen. Stellt man das Messintervall länger ein, sinkt der effektive Takt weiter, falls der Rechner sonst nichts tut.

Die Angaben zu den PStates besagen, dass niedrigere Takte als 2400 MHz nicht mehr effizienter sind. Die Leistungsaufnahme ist auch bei diesem Wert schon sehr niedrig, noch darunter spart man kaum was, verliert aber weiter Performance. Diese sehr niedrigen Takte sind nur für Notfälle gedacht, um den Prozessor bei sehr Versagen der Kühlung ggf. noch gerade so eben am Laufen zu halten. Und wie gesagt, beim Nichtstun werden die Kerne ohnehin komplett abgeschaltet.
 
Zuletzt bearbeitet:
  • Gefällt mir
Reaktionen: Donnerkind, iron_monkey und maxim.webster
Der Takt ist im Prinzip egal im Idle. Die meisten Kerne schlafen sowieso. Unter Last sieht das anders aus, da könnte man den Takt mit Energiesparprofilen begrenzen.
 
Unter Linux benutze ich cpu-x zum Auslesen. Habe einen ähnlichen Prozessor, der auch bis 2,4 GHz runtertaktet.

Schon kleine Aufgaben (Hintergrundtasks) lassen ihn aber immer mal wieder hochtakten (Race to Idle).
 
IronAngel schrieb:
Unter Last sieht das anders aus, da könnte man den Takt mit Energiesparprofilen begrenzen.
Mach eigentlich überhaupt keinen Sinn in Anbetracht der Möglichkeit das PPT (in Watt) im BIOS begrenzen zu können. Das ist wesentlich eleganter.
 
Donnerkind schrieb:
2. Beschreibe dein Problem. Je genauer und besser du dein Problem beschreibst, desto besser kann dir geholfen werden (zusätzliche Bilder könnten z. B. hilfreich sein):
Wenn ich den Rechner hochfahre, dann sagt mir cpupower unter Linux:
Code:
# cpupower frequency-info
CPU 4 wird analysiert:
  driver: amd-pstate-epp

Interessant, mein 8700G hat mit Linux 6.1.0-28-amd64 (Debian 12) stattdessen den Driver acpi-cpufreq. Welchen Kernel nutzt Du?

Code:
  Hardwarebegrenzungen: 423 MHz - 5.18 GHz

Da zeigt mir cpupower "1.60 GHz - 6.73 GHz" an. Wer's glaubt...

Relevant ist die Zeile „momentane Richtlinie: Frequenz sollte innerhalb 2.40 GHz und 4.60 GHz“. Man könnte meinen, da schießt eine Einstellung in Linux quer, dass da nicht 400 MHz steht, jedoch finde ich unter /etc keine relevante Erwähnung von “2400“ oder „2.4“.

Ich rate einmal, dass das vom Treiber amd-pstate-epp kommt. Ich habe zumindest mit dem Intel-Pendent (auf der Vorgaenger-CPU meines 8700G) die Erfahrung gemacht, dass der wenig beeinflussbar das macht, was Intel fuer gut und richtig haelt, und sich um irgendwelche settings, die z.B. die governors performance oder powersave beeinflussen sollen, nicht schert.

Aber 2400MHz ist eine gute, energiesparende Taktfrequenz fuer Zen4 (war einmal auf https://zhuanlan.zhihu.com/p/653961282 zu sehen [edit]siehe #10[/edit]), die Spannung geht erst danach hinauf. Von daher kann man alles mit 2400MHz laufen lassen, und wenn der Prozessor nichts zu tun hat, geht er in einen sleep state, wo die Taktfrequenz egal ist.

Das oben bei cpupower frequency-info zu sehende Maximum von 4,6 GHz habe ich selber eingerichtet, weil Frequenzen ab etwa hier anfangen, ineffizient zu werden, was bei dieser Kühler-Gehäuse-Kombi zu Lärm führt.

Ich habe den gleichen Prozessor und Kuehler wie Du (habe aber nur den grossen Luefter des NH-L12 montiert) und hoere selbst bei offenem Gehaeuse nichts vom Luefter, ohne Frequenzlimit. Ich habe allerdings den Eco-Mode [edit]im BIOS[/edit] eingeschaltet, was ein Power Limit von ca. 61W bewirkt, und die Luefterkurve auf "leise" eingestellt. Die CPU-Temperatur steigt dabei unter Vollast im Hochsommer auf knapp ueber 60Grad C.

Aber wenn's Dir um Effizienz geht und nicht nur um Laerm, ist es natuerlich richtig, nicht die letzten paar MHz zu verwenden, weil da die Spannung besonders stark steigt (in den oben genannten Daten: 0.9V bei 4100MHz, 1V bei 4600MHz, 1.1V bei 4800MHz, ~1.28V bei 4900MHz). Und Spannung geht quadratisch in den Verbrauch ein.

Du kannst die aktuellen Taktfrequenzen uebrigens mit "grep MHz /proc/cpuinfo" ermitteln. Bei mir ergibt das z.B. auf einem System, das ansonsten im Leerlauf ist:

Code:
# grep MHz /proc/cpuinfo
cpu MHz         : 2955.951
cpu MHz         : 1600.000
cpu MHz         : 2993.564
cpu MHz         : 2991.216
cpu MHz         : 1600.000
cpu MHz         : 1600.000
cpu MHz         : 2991.716
cpu MHz         : 2990.357

Warum gleich 5 Kerne auf fast 3000MHz gestellt sind (und damit auf mehr als die minimale Spannung), waehrend das System im Leerlauf ist, ist mir unklar.

Nur 8 CPUs, weil ich SMT abgeschaltet habe. Mit SMT waeren es 16.

P.S.: Ich habe 5W Mehrverbrauch gemessen, wenn ich das RAM mit 5600MHz statt 5200MHz betreibe (mein RAM ist fuer 5600MHz spezifiziert, aber der 8700G nur fuer 5200MHz). Wieviel das bei Deinem RAM ausmacht, und ob die Vorteile des hoeheren Speichertakts fuer Dich die Nachteile ueberwiegen, muesstest Du selbst herausfinden.
 
Zuletzt bearbeitet:
Ned Flanders schrieb:
Mach eigentlich überhaupt keinen Sinn in Anbetracht der Möglichkeit das PPT (in Watt) im BIOS begrenzen zu können. Das ist wesentlich eleganter.
Wäre auch noch eine Idee. Vor allem weil ich manchmal in Windows daddel und da Grafik-Power brauche und ein, zwei Kerne auf hoher Frequenz, während ich in Linux viel Multi-Core-Kram ohne Grafikanspruch mache, z.B. viele Videos parallel encodieren.

mae schrieb:
Aber wenn's Dir um Effizienz geht und nicht nur um Laerm, ist es natuerlich richtig, nicht die letzten paar MHz zu verwenden, weil da die Spannung besonders stark steigt (in den oben genannten Daten: 0.9V bei 4100MHz, 1V bei 4600MHz, 1.1V bei 4800MHz, ~1.28V bei 4900MHz). Und Spannung geht quadratisch in den Verbrauch ein.
Ich habe schon seit ein paar Monaten einen Browser-Tab und paar Notizen zum Thema PBO offen. Allein deswegen hab ich überhaupt das Aorus B650-Board gekauft statt das A620 (das ich nun bei meiner Bekannten reinkonfiguriert hab). Einen anderen Unterschied haben die beiden nämlich gar nicht.

mae schrieb:
Du kannst die aktuellen Taktfrequenzen uebrigens mit "grep MHz /proc/cpuinfo" ermitteln. Bei mir ergibt das z.B. auf einem System, das ansonsten im Leerlauf ist:
Ich nutze dazu htop, man muss die Frequenzanzeige nur in den Optionen aktivieren.

mae schrieb:
P.S.: Ich habe 5W Mehrverbrauch gemessen, wenn ich das RAM mit 5600MHz statt 5200MHz betreibe (mein RAM ist fuer 5600MHz spezifiziert, aber der 8700G nur fuer 5200MHz).
Ich habe bei meiner Recherche einen anderen 8700G-Thread von vor einem Jahr hier gefunden, in dem einige Leute keinen Unterschied in der Leistungsaufnahme gemessen haben. Ich ebenso.
Ich habe zwar extra schnellen RAM gekauft (6000er), aber dessen weitere eingebaute Profile sind 4800 und 5600. „Nativ“ macht der also gar nicht die 5200, die der Ryzen offiziell maximal unterstützt. Aber wie gesagt – ich konnte keinen messbaren Unterschied an der Steckdose feststellen.
 
  • Gefällt mir
Reaktionen: mae
Donnerkind schrieb:
ich konnte keinen messbaren Unterschied an der Steckdose feststellen
Das ist vom Board abhängig. Irgendwann setzen alle Boards die V_SOC automatisch rauf, damit der Speichercontroller den höheren RAM-Takt schafft. Dadurch steigt dann die Leistungsaufnahme. Viele tun es erst bei 6000 oder mehr, einige aber auch schon früher. Oft kann man dem durch manuelles Senken von V_SOC abhelfen, aber Tests auf RAM-Stabilität sind dann Pflicht.
 
Zurück
Oben