Strom sparen Ansätze


alturismo

Recommended Posts

1 hour ago, mgutt said:

Konntest du den Wert jetzt eigentlich noch mal unterbieten?

 

nicht mehr ohne Leistungseinbußen, bin aber auch nicht weiter in die Tiefe gegangen da ich recht zufrieden bin

 

10 - 15 Watt durch Nvidia VM Aus Modus zzgl. 10 - 15 durch CPU Driver und Governor Umstellung

 

so von 85 - 90 auf ziemlich genau 60 im idle runter (wo ich vorher mit dem i9 9900 war), ab jetzt wären die C States ein Thema, aber da komm ich keinen Millimeter weiter ... daher ist jetzt erstmal Pause mit probieren.

 

Ich könnte jetzt noch etwas tweaken mit max CPU Freq und schauen was es an Leistung kostet, aber ich meine da ist jetzt nicht mehr viel drin ohne spürbare Verluste.

Link to comment
6 hours ago, mgutt said:

Kann man im BIOS evtl Thunderbolt und die ASMedia USB Ports deaktivieren?

 

TB ist aus da nicht in Nutzung, ASMedia wird genutzt, ich nutze den ASMedia für unraid, den intel für die Desktop VM.

 

6 hours ago, mgutt said:

Was macht eigentlich die GTX1050 inkl der VM aus?

das ist der Desktop PC der täglich aktiv genutzt wird (hier ist der Server auch Desktop PC, Wohnzimmer)

 

6 hours ago, mgutt said:

Wäre da GVT-g nicht auch eine Option?

läuft auch aktiv, ist die "Homeoffice" Maschine

 

Hier eine Übersicht meines usecase

 

AlsPC ist der Desktop GTX1050 (AlsLinux als Alternative hierfür), AlsPC_Work die Homeoffice gvt-g, AlsPC_Media die Gaming RTX3070

image.thumb.png.0326fab379e7a3cb7868d57f0cf6d324.png

 

image.thumb.png.51a04879294aed1d0f0a2058605fa147.png

image.thumb.png.63fe1c2cdce646a21411f9a13aef4756.png

 

ich hab bereits den zusätzlichen PCIe USB Controller für die Gaming VM ex da ich den onboard BT Controller für die Gaming nehmen kann oder einfach direkt über unraid USB  durchreiche. Mehr Möglichkeiten sehe ich für meinen usecase da nicht.

 

Danke für den Tipp, aber da hab ich wenig Möglichkeiten.

Link to comment
1 hour ago, mgutt said:

Ja und der braucht die unbedingt, also warum reicht keine zweite vGPU?

 

mal abgesehen davon das ich kein Freund von USB - HDMI wäre ;) geht die vgpu > 1920x1080 auch in die Knie und mein Desktop Monitor ist 2560 x 1080, daher keine Option, ich hab auch noch ne GT1030 (war vorher verbaut) und die ist im "Alltag" nicht sonderlich sparsamer ... nur zur Info.

Link to comment
16 minutes ago, alturismo said:

ich hab auch noch ne GT1030 (war vorher verbaut) und die ist im "Alltag" nicht sonderlich sparsamer

Ja ich meine sogar, dass die GTX 1050 und Ti einen "neueren" Chip haben und daher effizienter sind.

 

Wenn du aber einen ordentlichen DisplayLink Adapter nimmst, sollte die Leistung eigentlich passen. Die sind ja teilweise 4K fähig:

https://www.synaptics.com/products/displaylink-graphics/integrated-chipsets

 

 

Link to comment
Ja ich meine sogar, dass die GTX 1050 und Ti einen "neueren" Chip haben und daher effizienter sind.
 
Wenn du aber einen ordentlichen DisplayLink Adapter nimmst, sollte die Leistung eigentlich passen. Die sind ja teilweise 4K fähig:
https://www.synaptics.com/products/displaylink-graphics/integrated-chipsets
 
 
Die vgpu aber nicht

Glaub mir ... Ich hab das exzessiv getestet ...

Gesendet von meinem SM-G981B mit Tapatalk

Link to comment
42 minutes ago, mgutt said:

Ist das denn bei DisplayLink überhaupt relevant? Ich dachte die beschleunigen selbst?!

 

naja, ja, die "funktionieren" auch ohne ... aber dann ohne wirklich gute Hardware Beschleunigung, das ist kein Vergleich zu einer dGPU, mein Frauchen würde mich .... fragen was das auf einmal soll ;) selbst die Remote VM mit UHD 630 vgpu bis 1920x1080 läuft da runder ... in meinem Test Szenario zumindest.

 

jetzt muss ich sagen ich hab nicht den High End DisplayLink Adapter getestet, aber ganz ehrlich ... wenn es ein "natives" Desktop Feeling wäre ... wie viele hätten das bereits in Nutzung und gepostet ... ;) nichts einfacher als das ...

 

Also, das ist wie gesagt keine Option für mich, was hast du denn für Erfahrungen damit gemacht im Test bei Dir ? vielleicht hatte ich auch nur den falschen DisplayLink oder etwas nicht korrekt eingestellt ... ? Für meine Homeoffice VM würde so etwas reichen, aber wo auch mal wirklich was gearbeitet wird, was abgespielt wird, ... Danke Nein ;) da hab ich einen anderen Anspruch (und mein Frauchen erst recht ...)

Link to comment
  • 2 weeks later...
On 1/5/2022 at 6:15 PM, alturismo said:

 

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.

 

Wenn ich das richtig sehe nutzt du den Nvidia-Treiber in Unraid und deaktivierst ihn, damit du die GPU in der VM nutzen kannst  ? Das würde ja bedeuten, dass du die IMMO Group der GPU nicht angehakt hast  ? 

Aktuell ist bei mir die GPU immo group angehakt und daher steht das Device nicht für Unraid zur Verfügung. Kann ich da an den Settings noch was drehen ?
Mit einem 9900 (non k) und einer 3060Ti komme ich derzeit auf 37,4W runter. Falls es geht würd ich gern noch weiter runter.

Gruß Mathias

 

 

Link to comment
4 minutes ago, elgatobavaria said:

Wenn ich das richtig sehe nutzt du den Nvidia-Treiber in Unraid und deaktivierst ihn, damit du die GPU in der VM nutzen kannst  ? Das würde ja bedeuten, dass du die IMMO Group der GPU nicht angehakt hast  ? 

exakt, wie in Post 1 gezeigt, Nvidia Treiber wird benötigt um den Nvidia persistent mode nutzen zu können (Schlafmodus p8 state der Karte)

 

sprich, VM Stop wird der mode gesetzt, VM Start wird das deaktiviert das die Karte genutzt werden kann.

 

und ja, dafür darf die Karte nicht per VFIO bind gesetzt sein, auch wie in Post 1 ..., sprich, igpu muss primär sein und von unraid genutzt werden, deine VM muss auch ohne VFIO bind funktionieren, ansonsten geht dieser Weg nicht ... bei einem 9900 er (den ich auch vorher hatte) sollte das gehen.

 

10 minutes ago, elgatobavaria said:

komme ich derzeit auf 37,4W runter. Falls es geht würd ich gern noch weiter runter.

 

ich frag mich zwar wie Ihr es alle schafft soweit runter zu kommen ;) aber ja, du solltest damit noch weiter runter kommen.

 

Bei mir war/ist es so mit der RTX 3070 VM

VM an ~ 87 W
VM aus (ohne mode p8) ~ 100 W

VM aus (mit mode p8) ~ 75 W

 

Ersparnis effektiv ~ 12 W von VM an zu VM aus (mit p8 mode)

 

sprich, ohne diesen Weg (p8 mode) war es immer besser die VM laufen zu lassen anstelle aus zu machen ... jetzt kommt es darauf an bei deinen 37,4 Watt in welchem state die gemessen sind und wie sich dein Board verhält wenn du aktuell die VM mit der RTX aus machst und ob das Auswirkungen hat (p8).

 

Viel Erfolg

Link to comment
2 minutes ago, alturismo said:

exakt, wie in Post 1 gezeigt, Nvidia Treiber wird benötigt um den Nvidia persistent mode nutzen zu können (Schlafmodus p8 state der Karte)

 

sprich, VM Stop wird der mode gesetzt, VM Start wird das deaktiviert das die Karte genutzt werden kann.

 

und ja, dafür darf die Karte nicht per VFIO bind gesetzt sein, auch wie in Post 1 ..., sprich, igpu muss primär sein und von unraid genutzt werden, deine VM muss auch ohne VFIO bind funktionieren, ansonsten geht dieser Weg nicht ... bei einem 9900 er (den ich auch vorher hatte) sollte das gehen.

 

 

ich frag mich zwar wie Ihr es alle schafft soweit runter zu kommen ;) aber ja, du solltest damit noch weiter runter kommen.

 

Bei mir war/ist es so mit der RTX 3070 VM

VM an ~ 87 W
VM aus (ohne mode p8) ~ 100 W

VM aus (mit mode p8) ~ 75 W

 

Ersparnis effektiv ~ 12 W von VM an zu VM aus (mit p8 mode)

 

sprich, ohne diesen Weg (p8 mode) war es immer besser die VM laufen zu lassen anstelle aus zu machen ... jetzt kommt es darauf an bei deinen 37,4 Watt in welchem state die gemessen sind und wie sich dein Board verhält wenn du aktuell die VM mit der RTX aus machst und ob das Auswirkungen hat (p8).

 

Viel Erfolg

 

Danke für dein Feedback ! Ich habe in der Zwischenzeit das VFIO mal deaktiviert und ohne VM Unraid + Treiber laufen lassen. Stromverbrauch ist nahezu identisch... ( wenn ich die WIN10 VM nicht brauche, lasse ich eine kleine Ubuntu VM + GPU laufen )
 Zu erwähnen ist bei meinem aktuellen Verbrauch auch, dass ich lediglich zwei SSDs verbunden habe. Zudem wurde der 9900 via Fixed Voltage auf 1.15V festgenagelt. ( + im Bios alles deaktiviert, was ich nicht brauche wie Thunderbolt ) . Das ändern der Frequenz via CoreFreq bringt bei mir vielleicht 3W ( von 4500Mhz auf 800 Mhz ). Ich denk mit den Anpassungen ist dann jetzt das ende der Fahnenstange erst einmal erreicht.

Weist du ob sich cores "abschalten" lassen bei bedarf ? Ohne VM würden mir 2 Kerne reichen.

Gruß Mathias

 

 

Link to comment
1 hour ago, elgatobavaria said:

Stromverbrauch ist nahezu identisch... ( wenn ich die WIN10 VM nicht brauche, lasse ich eine kleine Ubuntu VM + GPU laufen )

das ist ein schlechter Vergleich, wenn dann geht es darum das die AUS ist und die GPU gerade nicht verwaltet wird (von einem OS), daher der p8 mode wie oben beschrieben

 

1 hour ago, elgatobavaria said:

Weist du ob sich cores "abschalten" lassen bei bedarf ? Ohne VM würden mir 2 Kerne reichen.

 

abschalten geht nicht, was geht, siehe Teil 2 meines Posts bzw. mein Endstand

 

  • Thanks 1
Link to comment
5 hours ago, elgatobavaria said:

Stromverbrauch ist nahezu identisch... ( wenn ich die WIN10 VM nicht brauche, lasse ich eine kleine Ubuntu VM + GPU laufen )

Häh? Dann nutzt du ja nie die Lösung von alturismo?! Sein Ansatz soll dir ja gerade die Ubuntu VM ersparen. Wenn das allerdings unter dem Strich nichts ändert, dann wäre das auch interessant zu wissen.

Link to comment
1 hour ago, mgutt said:

Häh? Dann nutzt du ja nie die Lösung von alturismo?! Sein Ansatz soll dir ja gerade die Ubuntu VM ersparen. Wenn das allerdings unter dem Strich nichts ändert, dann wäre das auch interessant zu wissen.

Ich hab festgestellt, dass die kleine Linux VM weniger Strom verbraucht als WIN10 ( ich denk die Hintergrundprozesse etc. ). 
Die Lösung von @alturismo werde ich aber auf jeden Fall auch noch im Detail ausprobieren. Heute war ja nur mal ein "schnellschuss"... . Wenn ich was zu updaten habe meld ich mich ;-)

Link to comment

@mgutt Ich ging heute eure Ideen an meinem System noch einmal alle durch. Hier sind meine Ergebnisse:
 

Versuch 1 ( nvidia-persistenced ) :

Driver: Intel CPU Freq
intel_pstate=passive
govenor = ondemand

CPU cores fest auf :

( i7 9700 8 cores , kein HT )

@*0.8Ghz
- Idle:40W 
- Max:60W

@*4.6Ghz

- Idle:40,5W
- Max:145W 

 

Falls nvidia-persistenced = OFF --> +20W (3060TI)
------------------------------------------------------------------------------------------------------------

Versuch 2 ( nvidia-persistenced = OFF + LubuntuVM mit 2 cores und GPU = ON ) :

@*0.8Ghz
- Idle:40W 
- Max:60W

@*4.6Ghz

- Idle:41W
- Max:146W 

------------------------------------------------------------------------------------------------------------
Für mein System und meine Bedürfnisse bedeutet das folgendes:
1. Ich benötige ausser für die VMs keine GPU --> Somit ist Methode 2. für mich die einfachere
2. Nichtsdestotrotz ist das reduzieren der coreFrequency wie von @alturismo beschrieben für mich von Vorteil, denn ich kann ( wenn das NAS nicht verwendet wird ) die maximale Verlustleistung reduzieren und so das Gerät leiser betreiben.
3. Sollte ich die GPU dennoch irgendwann im Docker etc. brauchen, lässt sich über @alturismo Methode die GPU beliebig zwischen VM <-> Unraid übertragen.

Hoffe die Infos helfen dem einen oder anderen. ( irgendwo in den Bios Einstellungen hab ich noch 3W verloren :/ , da guck ich nochmal )

EDIT: Eigenartig war, dass ich die CpuFrequency nicht für einen core alleine höher stellen kann --> Es werden dann alle CoreFrequenzen angehoben. Eventuell benutze ich den Befehl nicht korrekt ... ( z.B. für Core0 --> "cpufreq-set -c 0 -u 4.6GHz -g ondemand"


Gruß Mathias

Edited by elgatobavaria
Link to comment
46 minutes ago, mgutt said:

Kann man die CPU Frequenz auch in Ubuntu einstellen? Auf die Art bräuchte man nicht mal ein Skript.

Ich bin leider kein Linux / VM Experte, aber Frequenz via "cpufreq-set" anpassen geht bei mir nicht. Die gerade aktuelle Frequenz wird via "/proc/cpuinfo" auch falsch angezeigt. ---> Bei der WIN10 VM steht auch immer 3.0 Ghz ....
Ich schalte meine VMs eh via Script um:

#!/bin/bash

#Shutdown all running VMs
for i in $(virsh list | grep running | awk '{print $2}'); do
virsh shutdown "$i"
done

#bash -c kill $(pidof nvidia-persistenced)
#sleep 5

#Start WIN10 after waiting some time
sleep 15
virsh start "Windows10"

 

Da würde sich das mit der Frequenz relativ leicht einsetzen lassen.

 

Link to comment
3 hours ago, elgatobavaria said:

EDIT: Eigenartig war, dass ich die CpuFrequency nicht für einen core alleine höher stellen kann --> Es werden dann alle CoreFrequenzen angehoben. Eventuell benutze ich den Befehl nicht korrekt ... ( z.B. für Core0 --> "cpufreq-set -c 0 -u 4.6GHz -g ondemand"

sollte passen, welchen cpu Treiber hast du aktiv ?

 

image.thumb.png.a1547bf0046348fd317bcade2a5d0721.png

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.