Strom sparen Ansätze


alturismo

Recommended Posts

Hallo,

 

da ich nach meinem CPU, Mainboard, RAM Upgrade jetzt auch etwas höher im Verbrauch gekokmmen bin hab ich jetzt mal geschaut wie und wo ich hier ansetzen könnte da bei mir powertop und co nicht wirklich etwas gebracht hat.

 

Vorweg, kleiner Hardware Vergleich (im Idle knapp über 60 zu gut 85 Watt Verbrauch)

 

vorher

i9 9900

MSI Z370m5

4 * 16 DDR4 Corsair LPX 2666

jetzt

i9 10850k

ASRock z590 pg velocita

2 * 32 DDR4 Corsair LPX 3200

 

Restliche Hardware

GTX1050, RTX3070, NVME WD SN750 (2tb), NVME Samsung 960evo (1tb), BeQuiet SL II 360 AIO, 8 weitere Lüfter

4 x 8tb HDD's (im idle ja fast uninteressant)

 

Mein erster Ansatz war, Thema GPU, ich habe die RTX3070 in meiner 2. VM für Gaming, TV PC, ... welche selten genutzt wird da ich hauptsächlich PS5 Gamer bin und der Desktop am TV kaum bis gar nicht benötigt wird.

Bisher war meine Erfahrung so, das die VM im laufenden Betrieb weniger Strom verbraucht als im gestoppten Modus. Nach etwas Rücksprache mit Kollege @ich777 und dem Thema Nvidia persistenced hatte ich folgenden Ansatz, die VM auszuschalten und dann die Karte in den p8 sleep zu schicken.

 

das ganze wie folgt umgesetzt

VFIO Bind entfernt

image.thumb.png.081df068142f9282626b918d3d4ee938.png

VM Autostart aus

Nvidia Driver Plugin installiert und Treiber installiert

image.png.022630bbdf3d7b88a057a3d6fed6e3fb.png

 

Hier erster Test ob die VM ohne VFIO Bind noch sauber startet, stoppt, startet, ... war alles gut hier ...

 

go file (Start von unraid) mit folgendem Eintrag ergänzt

# set Nvidia Persistenced
nvidia-persistenced &

 

Getestet ob das etwas bringt, und siehe da, Verbrauch geht jetzt etwas 12 - 13 Watt direkt runter wenn VM aus ist und p8 aktiv ist anstelle 20 Watt nach oben wenn nur die VM aus ist (so wie ich es kannte)

 

erster kleiner Erfolg ;)

 

das Ganze dann noch automatisiert mit qemu hooks sodass bei VM Start zuerst der p8 state gelöst wird und die VM starten kann und bei VM Stop der Zustand wieder eingestellt wird, auch das funktioniert hier.

 

Somit habe ich im Idle die Hälfte grob wieder raus zu vorher / nachher und bin grob bei ~ 70 - 75 Watt Idle Verbrauch.

 

Jetzt störte mich schon länger das bei pstate die CPU Frequenz nicht mehr runter taktet sondern eigentlich immer oben bleibt (auch bei powersave), soll ja nicht viel mehr verbrauchen ... aber da ich weiß dass dies mal anders war (und ich weniger verbraucht hatte) hab ich auch hier mal geschaut was es alles so gibt, war für mich recht einfach nachzuvollziehen weil es mir primär um das thema "leise Kühlung" geht was halt im Einklang mit Energieaufnahme steht ... mein "Server" steht silent im Wohnzimmer.

 

was sich hier jetzt ergeben hat, ich habe pstate komplett rausgenommen aus der Gleichung mit folgendem syslinux Eintrag

intel_pstate=disable

 

und habe jetzt die Auswahl mehrerer CPU Governors mit ACPI CPU Freq

image.thumb.png.3b9fa1809b8f49afc0f1621948612ca9.png

 

woraufhin ich diese alle durchgetestet habe und komme zum Entschluss, ondemand ist mein Gewinner ...

 

Ich habe weder in der Desktop VM (GTX1050), Remote VM (gvt-g) irgendwelche spürbaren Unterschiede (diese laufen permanent)

ich merke auch keinen Unterschied in den sonstigen Anwendungen welche hier laufen ...

image.thumb.png.be58ce2b3546abad9c5a256c83215980.png

 

ich merke auch keinen Unterschied wenn ich die Gaming VM anmache und meine Spiele da mal schnell getestet habe ...

 

und bin jetzt runter im idle auf ~ 60 Watt, sprich, nochmals 10 - 15 Watt gespart ... und das war die größte Überraschung für mich ...

 

in Summe hab ich jetzt dadurch grob 25 - 30 Watt im idle gespart, und ich meine sogar ich hspare noch mahr am Desktop im laufenden Betrieb aktuell ... das ganze jetzt weil jetzt die Kerne einfach permanent das machen was Sie sollen ;) runter takten wenn nichts passiert.

 

image.png.5fcf3310088c25478094658b5429a037.png

 

da steht bei pstate (egal ob powersave, performance) immer 3600 hier ... mal geht einer kurz auf 2xxx ... aber selbst die isolierten wenn die VM aus ist blieben permanent auf 3600 stehen ... auch wenn dies nur der Takt ist, macht das (hier zumindest) mindestens 3° aus ...

 

Hier noch das Thema Isolierung in meinem Setup

 

image.png.2d4d0aa91138a3c3a095d4997c15cc0d.png

image.png.ed62752ffd9a8873cf5ef028f0ea06df.png

 

Vielleicht hat ja noch jemand Lust das mal zu testen und seine Erfahrungen hier zu teilen

 

WICHTIG bei der Nvidia Geschichte, die Karte darf und sollte so NIE für Docker genutzt werden ... ich nutze dafür die igpu ...

 

WICHTIG bei dem ACPI CPU Freq Thema, BIOS muss das können, wenn nicht fällt es auf pstate retour.

 

Und wer Interesse hat, das Ganze ist jetzt voll automatisiert mit System Start und VM Start / Stop, bei Interesse, melden.

 

Bin gespannt ;)

  • Like 2
Link to comment

hier noch die passenden .sh files und die locations (hier, einfach anpassen ...)

 

root@AlsServer:~# ls -la /etc/libvirt/hooks/qemu.d/
total 4
...
-rwxrwxrwx 1 root root 1469 Dec 29 18:01 vm.sh*

root@AlsServer:~# ls -la /mnt/cache/system/
total 2932744
drwxrwxrwx  5 nobody users        183 Nov 22 10:14 ./
drwxrwxrwx 10 nobody users        122 Dec 12 07:02 ../
...
-rwxrwxrwx  1 nobody users        363 Dec 29 20:26 vm_start.sh*
-rwxrwxrwx  1 nobody users        180 Dec 30 08:17 vm_stop.sh*
root@AlsServer:~# 

 

ich setze auch den governor beim Gaming auf Performance, kann einfach entfernt werden bei "Nichtbedarf", macht auch eigentlich keinen echten Unterschied (gefühlt).

 

vm.sh vm_start.sh vm_stop.sh

Link to comment
11 hours ago, alturismo said:
intel_pstate=disable

 

Ich glaube das ist gar nicht mal notwendig auf acpi-cpufreq zu wechseln. Lies mal hier:

https://www.kernel.org/doc/html/v4.19/admin-guide/pm/intel_pstate.html

Quote

For example, the powersave P-state selection algorithm provided by intel_pstate is not a counterpart of the generic powersave governor (roughly, it corresponds to the schedutil and ondemand governors).

 

Quote

In consequence, it (acpi-cpufreq) will only go to the turbo range for the highest loads and the other loads above 50% that might benefit from running at turbo frequencies will be given non-turbo P-states instead.

 

Quote

Apart from the above, acpi-cpufreq works like intel_pstate in the passive mode, except that the number of P-states it can set is limited to the ones listed by the ACPI _PSS objects.

 

Dh intel_pstate versucht schneller in den Turbo zu gehen, was aber im passive Modus nicht so ist.

 

Daher könntest du mal intel_pstate=passive testen und den Modus auf powersave, welches sich dann wohl wie ondemand verhalten soll.

 

Es gibt diverse Optionen, die man testen könnte:

Quote

disable

Do not register intel_pstate as the scaling driver even if the processor is supported by it.

 

passive

Register intel_pstate in the passive mode to start with.

 

This option implies the no_hwp one described below.

 

force

Register intel_pstate as the scaling driver instead of acpi-cpufreq even if the latter is preferred on the given system.

 

no_hwp

Do not enable the hardware-managed P-states (HWP) feature even if it is supported by the processor.

 

hwp_only

Register intel_pstate as the scaling driver only if the hardware-managed P-states (HWP) feature is supported by the processor.

 

support_acpi_ppc

Take ACPI _PPC performance limits into account.

 

per_cpu_perf_limits

Use per-logical-CPU P-State limits (see Coordination of P-state Limits for details).

 

EDIT: Hmmm hier meint jemand passive wäre wie das frühere powersave:

https://www.linuxquestions.org/questions/slackware-14/some-notes-about-cpu-governor-and-scaling-on-an-intel-skylake-laptop-4175688040/#post6204571

Quote

So "Active pstate powersave" == "old ondemand" and "Passive pstate powersave" == "old powersave"

 

Ich denke das sollte man einfach mal testen.

  • Thanks 1
Link to comment
4 hours ago, mgutt said:

Daher könntest du mal intel_pstate=passive testen und den Modus auf powersave, welches sich dann wohl wie ondemand verhalten soll.

 

hab ich natürlich gemacht da ich Intel CPU Freq vorzugsweise nehmen wollte, leider nicht mit dem Erfolg wie ACPI ...

 

obwohl ondemand sich da auch sauber verhält (runter taaktet) bleibt der Verbrauch sowie die Abwärme in etwa gleich wie pstate powersave, daher ist intel_pstate=passive für mich keine Option gewesen, keinerlei Gewinn, auch da alle Governors durchgetestet und im Ergebnis ... naja, wie beschrieben ;)

 

Danke, hätte ich im Topic noch ergänzen sollen dass ich da auch durch bin.

Link to comment
59 minutes ago, mgutt said:

Bei intel_pstate gibt es kein ondemand?!

 

moin, doch ... intel cpu freq (intel_pstate=passive) hat die gleichen Governors wie ACPI CPU Freq, ondemand, .... aber, komischerweise keinen Vorteil gegenüber pstate powersave im INTEL PSTATE Driver Status, daher kommt der Vorteil (hier zumindest) NUR zustande mit ACPI CPU Freq mit dem ondemand Governor, sprich, intel_pstate=disable

 

hier wenn passiv aktiv ist (hier gibt es auch ondemand, taktet auch runter, aber wie beschrieben kein effektiver Gewinn)

 

image.thumb.png.fb8bea9477ef7596a3b609dce8ee12de.png

 

und hier mit ACPI (das ist mein Gewinner, ondemand)

 

image.thumb.png.57f6cbc5231ba1a01ff52d7c8f533e71.png

 

und hier Standard pstate (taktet nie wirklich runter, egal welcher Governor, hier gibt es kein ondemand ...)

 

image.thumb.png.b09807057153a8ae59961517aa0cccdf.png

Link to comment
40 minutes ago, darkside40 said:

Meine erste Idee: Einfach den Server schlafen legen wenn er nicht benötigt wird.

 

 

Sorry, aber das beißt sich ;)

 

8 minutes ago, Smolo said:

steht dein Unraid Server im Wohnzimmer und zockst du dann Lokal oder machst du wirkliches alles Remote?

 

die Gaming hängt per HDMI 2.1 am TV (VRR) und hat Ihren eigenen USB Controller für Tastatur und Controller (BT)

 

ich habe jedoch eine zeit lang das per remote Gaming gemacht, Nvidia Shield TV, war sehr gut für das was ich spiele ... die kann nur kein VRR ;)

Link to comment
33 minutes ago, alturismo said:

 

 

die Gaming hängt per HDMI 2.1 am TV (VRR) und hat Ihren eigenen USB Controller für Tastatur und Controller (BT)

 

ich habe jedoch eine zeit lang das per remote Gaming gemacht, Nvidia Shield TV, war sehr gut für das was ich spiele ... die kann nur kein VRR ;)

Du zockst aber keine Shooter oder?

Link to comment
13 hours ago, alturismo said:

moin, doch ... intel cpu freq (intel_pstate=passive) hat die gleichen Governors wie ACPI CPU Freq

Interessant. Habe es auch gerade getestet und tatsächlich hat man bei passive viel mehr Modi:

 cpufreq-info
cpufrequtils 008: cpufreq-info (C) Dominik Brodowski 2004-2009
Report errors and bugs to [email protected], please.
analyzing CPU 0:
  driver: intel_cpufreq
  CPUs which run at the same hardware frequency: 0
  CPUs which need to have their frequency coordinated by software: 0
  maximum transition latency: 20.0 us.
  hardware limits: 800 MHz - 4.50 GHz
  available cpufreq governors: conservative, ondemand, userspace, powersave, performance, schedutil
  current policy: frequency should be within 800 MHz and 4.50 GHz.
                  The governor "ondemand" may decide which speed to use
                  within this range.
  current CPU frequency is 4.13 GHz.

 

 

Und wie man sieht ist "ondemand" dann auch direkt der Standard.

 

Stelle ich auf "powersave", steigt der Verbrauch um 0,1 bis 0,2W.

 

Ich probiere jetzt auch mal "intel_pstate=disable".

 

EDIT: Ja, das scheint deutlich aggressiver runterzutakten, denn mein erster Kern ist normalerweise immer hoch getaktet und hier ist er direkt bei 800 Mhz:

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
  CPUs which need to have their frequency coordinated by software: 0
  maximum transition latency: 10.0 us.
  hardware limits: 800 MHz - 3.50 GHz
  available frequency steps: 3.50 GHz, 3.50 GHz, 3.30 GHz, 3.10 GHz, 2.90 GHz, 2.70 GHz, 2.50 GHz, 2.30 GHz, 2.10 GHz, 2.00 GHz, 1.80 GHz, 1.60 GHz, 1.40 GHz, 1.20 GHz, 1000 MHz, 800 MHz
  available cpufreq governors: conservative, ondemand, userspace, powersave, performance, schedutil
  current policy: frequency should be within 800 MHz and 3.50 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: 3.50 GHz:0.60%, 3.50 GHz:0.00%, 3.30 GHz:0.03%, 3.10 GHz:0.02%, 2.90 GHz:0.01%, 2.70 GHz:0.03%, 2.50 GHz:0.04%, 2.30 GHz:0.14%, 2.10 GHz:0.06%, 2.00 GHz:0.18%, 1.80 GHz:0.17%, 1.60 GHz:0.53%, 1.40 GHz:0.58%, 1.20 GHz:0.80%, 1000 MHz:4.38%, 800 MHz:92.45%  (4025)

 

Leider hat sich auch jetzt nichts beim Stromverbrauch verändert. Also bei mir (C246N-WU2) ist intel_pstate powersave und intel_pstate=disable mit ondemand absolut identisch. Schade.

  • Thanks 1
Link to comment
6 hours ago, mgutt said:

ist intel_pstate powersave und intel_pstate=disable mit ondemand absolut identisch. Schade.

erstmal Danke für den Test und Rückmeldung.

 

mal eine Frage, taktet bei Dir die CPU im intel_pstate Modus überhaupt runter auf 800 ? das war ja hier der Auslöser warum ich den Quervergleich gemacht hatte ...

 

Hier zumindest (auf mehreren Maschinen durchgespielt) geht die Taktung im idle nicht runter

 

image.png.5e43485aaf910a8109eea4ab99bde5b0.png

 

das wären beispielsweise Kerne wo nichts aktiv läuft (isoliert und VM aus), bei intel_pstate (powersave, performance egal) bleiben diese trotzdem bei 3600 stehen ...

Link to comment
4 hours ago, alturismo said:

mal eine Frage, taktet bei Dir die CPU im intel_pstate Modus überhaupt runter auf 800 ?

Bei performance nicht, aber bei powersave. Das macht bei mir aber nur 0.5W aus. Die Package C-States sind in beiden Fällen C3. Ich denke daher ändert sich da nichts weiter. Ich vermute bei dir erlaubt ondemand bessere C-States.

 

Wobei selbst mit powersave bei mir selten die 800 MHz zu sehen sind.

 

Ich habe auch das Gefühl, dass die Werte aus /proc/cpuinfo nichts taugen. Teste mal das:

watch -n2 "cpufreq-info | grep 'current CPU'"

 

Das sieht deutlich realistischer aus (powersave):

Screenshot_20220105-105621.thumb.png.3875fdeaae36c656077b36b805c603d1.png

 

performance:

Screenshot_20220105-105917.thumb.png.d3b15ea8afc3463c9ab565448c621ffe.png

 

Siehe auch hier (/proc/cpuinfo zeigt Wert an, der gar nicht anliegen kann):

https://serverfault.com/questions/704456/cpufreq-info-differs-from-proc-cpuinfo

 

 

Hier im Vergleich /proc/cpuinfo bei powersave:

Screenshot_20220105_111029.thumb.png.5cb1d118b4f5cfbbfd92b4a695f2f34e.png

  • Thanks 1
Link to comment

Ich hatte die Tage auch mal einiges durchgetestet. Hier ergibt sich für mich auch ondemand (im Gegensatz zu conservative oder pstate powersave) als "Gewinner".

Ich hatte unter 6.9.2 noch pstate powersave am laufen, welches damals noch die meisten Threads auf 800MHz untertaktete. Das hat sich ein bisschen im Verbrauch, aber auch bei der Temperatur bemerkbar gemacht. Ich denke aufgrund meines HBA war hier aber auch nie mehr als Pkg C3 möglich.

 

Falls es relevant ist, aber erst seit 6.10.x taktet kein Thread mehr runter. Egal ob powersave oder perfomance.

 

CPU ist i5-10400

image.png.9c543bf9849084adf170887f03aabbcb.png

 

Hier einmal als Bsp:

CPU 0,6,1,7 sind Unraid/Container

Die restlichen sind Isoliert und haben 100% Idle

Nur auf CPU 5,11 läuft aktiv eine VM.

image.png.4b064a0a003bc9e91a7a5bb26aa0a6ff.png

image.png.c7d8d4264e5155b4adbed03f173bf45f.png

image.thumb.png.df4f5226f0194985a449bd181c130ae3.png

image.png.6b9fd1e6400c3b1c3eb1a09171b4f2cd.png

image.thumb.png.b8ee7d31451be5235fc2e8fb79acf858.png

  • Thanks 1
Link to comment
1 hour ago, mgutt said:

Ich habe auch das Gefühl, dass die Werte aus /proc/cpuinfo nichts taugen. Teste mal das:

watch -n2 "cpufreq-info | grep 'current CPU'"

 

hab ich, werden noch höhere Taktwerte angezeigt ;) 4ghz ++ überall ...

 

was mit dabei aber auffällt (cpufreq-info) und ich jetzt gerade mal getestet habe, im pstate modus takten hier wenn überhaupt nur Kerne runter welche NICHT isoliert sind (also in der Anzeige), sprich unraid relevante Kerne ...

 

ich hab mal isol cpu aufgelöst und unraid wieder alle Kerne zugesprochen

 

Quervergleich der Anzeigen ;)

 

image.thumb.png.b19ab3faa7d48e3401ce1577aaa8730f.png

 

Hier werden jetzt auch "idle" Kerne tiefer angezeigt, Verbrauch und Abwärme jedoch auf dem Niveau wie pstate vorher, also in Summe auch kein Gewinn (und Verschlechterung der VM Performance nach meiner Erfahrung)

 

und Powertop in der Aussage der C States kann ich eh nicht mehr folgen ;) da hatte ich früher auch bis C10 einiges dabei ...

jetzt je nach Version ... unterschiedliche States, anscheinend andere Herangehensweise

 

image.thumb.png.7087a44ff1268baeb3cb8290747321d0.png

image.thumb.png.87c4ace5ab6ed6040ce1ea17e59cdc36.png

 

in Summe ist hier nach wie vor ACPI im ondemand mode aktuell der Gewinner im Normalbetrieb, ich muss noch tiefer in die Gaming VM rein zum Vergleich ob es da evtl. Auswirkungen hat, im Schnelltest (Metro Exodus, Alan Wake Remastered, ...) hatte ich keinen Unterschied feststellen können.

Link to comment
1 hour ago, alturismo said:

Quervergleich der Anzeigen ;)

 

Das funktioniert nicht. Du darfst nicht alles parallel laufen lassen, weil das produziert ja Last.

 

Parallel:

881255619_2022-01-0513_00_38.png.2e6f7caa71ca43024021ea78d6b33456.png

 

Nur cpufreq-info:

image.png.af768846720b037d6142e89ad92640c6.png

 

Wenn du es unbedingt parallel haben willst, dann nimm Primzahlen-Intervalle, die sich selten überschneiden (Sekunde 3, 6, 9, 12, 15 = bei 15 gäbe es eine Überschneidung mit dem 5 Sekunden Intervall):

watch -n3 "cpufreq-info | grep 'current CPU'"

 

watch -n5 "grep MHz /proc/cpuinfo"

 

powertop darf in der Zeit natürlich gar nicht laufen, weil das produziert ja auch Last. 

 

Bei mir sieht es mit intel_pstate powersave dann so aus:

image.png.65d0f3c513eb77125db1b4645d340e20.png

oder so, dh bei /proc/cpuinfo schlafen entweder alle Kerne oder gar keiner und das ist schlicht falsch.

image.png.2e4d177ec2324961dd3e9803ceb5ac55.png

 

Wenn man es richtig genau haben will, sollte man auch nicht die GUI und das WebTerminal nutzen. Denn auch da laufen im Hintergrund ständig Prozesse. Am besten alle Browser-Fenster zu und über SSH eine Verbindung aufbauen. Also Powershell und dann "ssh root@tower". Dann hat der Server am wenigsten zu tun.

 

Wenn man den Chrome Dev Tools Netzwerkmonitor öffnet, dann sieht man was da alles abgeht:

image.png.1eb3512e157d80257d03bf5395db751b.png

image.png.dedf0258db27ac6794e81403642b90c0.png

 

Also in 30 Sekunden sind knapp 150 Anfragen an den Server gegangen.

 

EDIT: Ok das Webterminal alleine produziert keine Anfragen. Also es scheint zu reichen, wenn man die restliche GUI schließt:

image.png.dbd061af8796ac02e7e2d34f931169ed.png

Link to comment
1 hour ago, alturismo said:

und Powertop in der Aussage der C States kann ich eh nicht mehr folgen ;) da hatte ich früher auch bis C10 einiges dabei ...

jetzt je nach Version ... unterschiedliche States, anscheinend andere Herangehensweise

Da müssen wir echt mal herausfinden woran das liegt. Also wie man diese Werte auch ohne powertop ermitteln kann. Weil da ist ja offensichtlich ein Bug vorhanden. Ich habe mit der neueren powertop-Version auch direkt C10. Selbst wenn ich C9 im BIOS als Limit eingestellt habe. Das macht also gar keinen Sinn.

Link to comment
54 minutes ago, mgutt said:

Das funktioniert nicht. Du darfst nicht alles parallel laufen lassen, weil das produziert ja Last.

 

ich hatte es vorher einzeln laufen, dann parallel, jetzt nochmals einzeln mit 3, 5 sekunden .... es ist das Ergebnis wie geschildert, leider ;) auch per ssh vom Laptop mit exakt dem gleichen Ergebnis, daran liegt es nicht, aber Danke für den Tipp, versuchen kann man es ja, wobei das ja eh zweitrangig ist da das Ergebnis ja direkt an der Abwärme und der Energieaufnahme abgelesen werden kann.

 

21 minutes ago, mgutt said:

Selbst wenn ich C9 im BIOS als Limit eingestellt habe. Das macht also gar keinen Sinn.

wirklich ein Joke .... ;)

 

Link to comment
2 hours ago, alturismo said:

ondemand

image.png.e92ef945c0dec9d1baf200a9ae144ed4.png

 

Das macht echt keinen Sinn.

 

Bei mir (intel_pstate=disable ondemand):

Screenshot_20220105-150814.thumb.png.515743bd80769ccf1f95e314c6e8f3a3.png

 

Das "asserted by call to hardware" fehlt bei dir auch.

 

Mit /proc/cpuinfo springen die Frequenzen ständig zwischen 800 und Maximum hin und her.

 

Hast du evtl unRAID 6.10? Ich bin noch auf der Stable.

Quote

zweitrangig ist da das Ergebnis ja direkt an der Abwärme und der Energieaufnahme abgelesen werden kann.

Naja bei mir wie gesagt nicht. Da ist es so ziemlich Wurst welche Frequenz anliegt. Wie gesagt nur 0.5W Differenz.

Link to comment
1 hour ago, mgutt said:

Hast du evtl unRAID 6.10? Ich bin noch auf der Stable.

 

ja, ich bin auf der 6.10, aber das Phänomen des "nicht herunter taktens" hatte ich bereits länger, ziemlich sicher auch in der 6.9.2

 

wo ich jetzt noch einen Schritt weiter bin, woher der Unterschied ACPI zu Intel Cpu Freq kommt, maximal Takt ....

ist mir zufällig vorhin aufgefallen bei den screens von @mgutt, Danke hierfür ;)

 

ACPI CPU Freq setzt den max Takt nicht inkl. Turbo während Intel CPU Freq diesen setzt, auch wenn der "eigentlich" nicht spürbar anliegt macht das viel aus.

 

Beispiel hier CPU Freq

ACPI max sitzt bei 3,6 GHz

Intel max sitzt bei 5,2 GHz

 

und nur dadurch das bei ondemand die genutzten Kerne hier anscheinend über die 3,6 gehen kommt dieser massive Mehrverbrauch her ( ~ 10 - 15 Watt) und das auf 4 Kernen + HT, also 8 Threads bei unraid und der Desktop VM)

 

setze ich jetzt bei Intel CPU Freq die max CPU Freq auf den gleichen Wert wie bei ACPI stehe ich in etwa gleich, jetzt wäre der einzige Unterschied die "aggressivere Hysterie" bei ACPI aber ich denke das scheint keinen echten Einfluss zu haben.

 

ich habe jetzt hier auch daraufhin etwas umgebaut und kann so bei Intel CPU Freq bleiben mit gleichem Ergebnis

 

syslinux Eintrag um den Intel CPU Freq Driver zu aktivieren

intel_pstate=passive

 

Start script on array start, ich setze die CPU max Freq bei den betroffenen Kernen auf max 3,6 GHz und den governor auf ondemand, ich setze die Gaming VM Kerne in den "Schlaf" indem ich die Kerne auf powersave stelle.

#!/bin/bash

bash -c 'for ((i=0;i<2;i++)); do cpufreq-set -c $i -u 3.6GHz -g ondemand; done'
bash -c 'for ((i=8;i<12;i++)); do cpufreq-set -c $i -u 3.6GHz -g ondemand; done'
bash -c 'for ((i=18;i<20;i++)); do cpufreq-set -c $i -u 3.6GHz -g ondemand; done'

bash -c 'for ((i=2;i<8;i++)); do cpufreq-set -c $i -g powersave; done'
bash -c 'for ((i=12;i<18;i++)); do cpufreq-set -c $i -g powersave; done'

exit;

 

Ergebnis, unraid und die Desktop VM laufen auf ondemand mit 3,6 GHz max was mehr als ausreichend ist (für mich), die Gaming VM Cores werden dank powersave auf 800 mhz limitiert und ich bin im idle da wo ich hin kann.

image.png.0bc5d3055cf5320eadc7c7b3ea680ad3.png

image.png.985162a85f2949f29726c8862c1ca489.png

 

Jetzt die VM Start und Stop scripts angepasst das hier dann umgeschaltet wird auf Performance, bis zu 5,2 GHz volle Leistung dann beim Gaming und danach retour

 

VM Start

#!/bin/bash

kill $(pidof nvidia-persistenced) &
sleep 1

bash -c 'for ((i=2;i<8;i++)); do cpufreq-set -c $i -g performance; done'
bash -c 'for ((i=12;i<18;i++)); do cpufreq-set -c $i -g performance; done'
sleep 1

exit 0;

image.png.91a0b74c72de314699eb155b60ca7939.png

 

VM Stop

#!/bin/bash

nvidia-persistenced &
sleep 1

bash -c 'for ((i=2;i<8;i++)); do cpufreq-set -c $i -g powersave; done'
bash -c 'for ((i=12;i<18;i++)); do cpufreq-set -c $i -g powersave; done'
sleep 1

exit 0;

image.png.cd0308383b65b22acbbf5ee05a316eb2.png

 

So komme ich auf das gleiche Ergebnis wie mit ACPI CPU Freq ondemand, im Gegenzug zu pstate powersave ~ 10 - 15 Watt weniger im idle, 3 - 5° weniger CPU Temp und hab dann jetzt doch zumindest den Intel CPU Freq Driver aktiv.

  • Like 2
Link to comment
5 hours ago, alturismo said:

Start script on array start, ich setze die CPU max Freq bei den betroffenen Kernen auf max 3,6 GHz

Deaktiviere doch einfach den Turbo im BIOS?!

 

Oder halt so:

echo "1" > /sys/devices/system/cpu/intel_pstate/no_turbo

 

EDIT: Ach so. Du machst das selektiv je nach Kern. 

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.