Idle Verbrauch Server mit VM


mikep70

Recommended Posts

Hallo,

mein Unraid Server (Intel i9 10Gen, B560 Board, RTX GPU, 4HD mech, 2HD m.2) zieht ca 80W im Idle - also fürs nichts tuen. Das ist viel - mir zu viel, denn wenn ich den PC als reine Windows Maschine betreibe liege ich eher um die 50W sobald windows nichts zu tun hat.

Ich habe Powertop -autotune als startupscript laufen, Eine Windows VM immer an um die Grafikkarte schlafen zu schicken (ohne die VM liege ich sonst bei 100W leerlauf). Im Bios alle C-Modes auf maximum gesetzt,  - mir gehen die Ideen aus, was noch zu machen wäre.

Meine Vermutung ist, das die VM nicht so sparsam läuft wie sie es als "echtes" Windows könnte.

Powertop zeigt max C7 wird erreicht, die Komponenten alle auf "Good"

Noch jemand Tips um vom Idle Verbrauch runterzukommen.

 

image.thumb.png.04486085008a408ad9a0fcfbf9465958.pngimage.thumb.png.fca8e626de3a41f24e7d0931a95ee1df.png

Link to comment
4 hours ago, mikep70 said:

4HD mech

Stehen die HDDs?

 

4 hours ago, mikep70 said:

Eine Windows VM immer an um die Grafikkarte schlafen zu schicken (ohne die VM liege ich sonst bei 100W leerlauf

Das geht auch anders:

 

 

4 hours ago, mikep70 said:

2HD m.2)

Ich nehme an RAID1. Also dauerhaft Vollgas. Du musst dafür sorgen, dass die quasi nichts machen. Also VM aus und wenn dann immer noch Last drauf ist, müsste man dann sehen, was man mit dem Rest macht. Siehe auch diesen Artikel:

 

 

 

  • Like 1
Link to comment
6 hours ago, mikep70 said:

Noch jemand Tips um vom Idle Verbrauch runterzukommen.

 

mein Thread welchen Dir @mgutt bereits verlinkt hat, mit 2 dGPU's hier

 

mein idle Verbauch liegt hier, ebenso siehst du die GPU Verbräuche im idle bei korrekter persistent ... pendelt ~ 53 - 55 Watt

 

und ich hab ja einige Lüfter, 2 Pumpen, ...

 

image.thumb.png.85f875d23e5d9c82d5c18ed328b3eec9.png

 

viel Erfolg dabei.

Link to comment

@alturismo

Der Tip mit dem Nvidia Treiber war super - ich lieg jetzt im besten Fall unter 50W idle. Dachte immer der nvidia Treiber funktioniert nur wenn man keine VM mit der Grafik benutzen will? Aber schön das es geht.

 

Was ich jetzt noch nicht hinkriege, bzw dir nicht folgen kann: Wie krieg ich die RTX per VM-Hook Script wieder startklar? Dazu hab ich nix gefunden wo man diese Scipte reinbringt und mit welchen Befehlen?

Link to comment

Ja richtig aber ich dachte immer das man die PCI Devices notwendigerweise "gebindet" haben muss damit die VM weiss was sie durchschleifen kann.

 

Verblüffend das es auch ohne funktioniert.

 

Jetzt noch den VFIO Hook um die RTX wachzurützeln und ich bin zufrieden 😀

Link to comment

Sorry, nicht zuende gelsen das kam ja weiter unten - aber die Probleme bleiben denn ich bin absolut neu in der Unraid Konsolenbenutzung und scheitere schon bei deinem ersten Befehl, ihn nachzuvollziehen

1301469018_Screenshot2023-03-28125705.png.94f672ccdbbdc0b032ac0c51527016bc.png

ergibt bei mir

2133137277_Screenshot2023-03-28125503.png.99ad1be43e8ddffd9ac3d8e93f788c5b.png

 

Und da bin ich mit meinem Latein am Ende - lesen im Netz über die QEMU Hooks brachte nur die Warnung -> It is complicated 😞

 

 

Link to comment
35 minutes ago, mikep70 said:

ergibt bei mir

 

dass es den Ordner noch nicht gibt, erstellen und fertig ... mkdir .... ;)

 

da dann entweder entsprechende scripts erstellen, oder ein script was je nach Zustand etwas ausführt.

 

Beispiel mittlerweile hier, 1 script welches je nach Zustand dann ein externes ausführt, qemu ist da "pingelig"

 

root@AlsServer:~# ls -la /etc/libvirt/hooks/qemu.d/
total 4
drwxrwxrwx 1 root root   24 Jan 14 08:12 ./
drwxr-xr-x 1 root root   38 Feb 10 06:30 ../
-rwxrwxrwx 1 root root 2504 Mar  1 19:51 hook_scripts*
root@AlsServer:~#

 

hier der Inhalt davon

#!/bin/bash

if [ $1 = "AlsPC_Media" -a $2 = "prepare" -a $3 = "begin" ]; then
        /mnt/cache/system/hook_scripts/alspc_media_start.sh &
        /usr/local/emhttp/webGui/scripts/notify -e "Unraid Server Notice" -s "VM Info, "$1", "$2", "$3"" -i "normal" &
elif [ $1 = "AlsPC_Media" -a $2 = "release" -a $3 = "end" ]; then
        /mnt/cache/system/hook_scripts/alspc_media_stop.sh &
        /usr/local/emhttp/webGui/scripts/notify -e "Unraid Server Notice" -s "VM Info, "$1", "$2", "$3"" -i "normal" &
elif [ $1 = "AlsPC" -a $2 = "prepare" -a $3 = "begin" ]; then
        /mnt/cache/system/hook_scripts/alspc_start.sh &
        /usr/local/emhttp/webGui/scripts/notify -e "Unraid Server Notice" -s "VM Info, "$1", "$2", "$3"" -i "normal" &
elif [ $1 = "AlsPC" -a $2 = "release" -a $3 = "end" ]; then
        /mnt/cache/system/hook_scripts/alspc_stop.sh &
        /usr/local/emhttp/webGui/scripts/notify -e "Unraid Server Notice" -s "VM Info, "$1", "$2", "$3"" -i "normal" &
elif [ $1 = "AlsPC_Work" -a $2 = "started" -a $3 = "begin" ]; then
        /mnt/cache/system/hook_scripts/alspc_work_start.sh &
        /usr/local/emhttp/webGui/scripts/notify -e "Unraid Server Notice" -s "VM Info, "$1", "$2", "$3"" -i "normal" &
elif [ $1 = "AlsPC_Work" -a $2 = "stopped" -a $3 = "end" ]; then
        /mnt/cache/system/hook_scripts/alspc_work_stop.sh &
        /usr/local/emhttp/webGui/scripts/notify -e "Unraid Server Notice" -s "VM Info, "$1", "$2", "$3"" -i "normal" &
elif [ $1 = "AlsLinux" -a $2 = "started" -a $3 = "begin" ]; then
        /usr/local/emhttp/webGui/scripts/notify -e "Unraid Server Notice" -s "VM Info, "$1", "$2", "$3"" -i "normal" &
elif [ $1 = "AlsLinux" -a $2 = "stopped" -a $3 = "end" ]; then
        /usr/local/emhttp/webGui/scripts/notify -e "Unraid Server Notice" -s "VM Info, "$1", "$2", "$3"" -i "normal" &
fi
exit 0;

 

dann der Inhalt eines davon, für nvidia braucht es nur den ersten Eintrag, ich spiele ja noch mit Taktungen je nach VM Zustand (siehe Thread)

root@AlsServer:~# nano /mnt/cache/system/hook_scripts/alspc_start.sh
#!/bin/bash

nvidia-smi -i 1 -pm 0 &
sleep 1

bash -c 'for ((i=8;i<10;i++)); do cpufreq-set -c $i -u 5.2GHz -g performance; done'
bash -c 'for ((i=18;i<20;i++)); do cpufreq-set -c $i -u 5.2GHz -g performance; done'
sleep 1

exit 0;

 

Link to comment

Mal ne ganz blöde Frage denn ich scheitere an der Konsole bzw. dem Zugang zu dem Filesystem. Ich blick nicht mehr durch!

Wie kommt man an das Filesystem das die Konsole zeigt bzw. wie krieg ich Dateien da rein die auf meinem Array liegen?

 

Ich habs mit Krusader versucht, da hab ich aber nicht das Filesystem der Konsole -Für Anfänger wie mich, echt Hardcore, find auch nix dazu im Netz.

 

Kann mir mal einer eine Hilfeseite nennen wo die Unterschiede erklärt sind.

 

Link to comment
7 hours ago, mikep70 said:

Mal ne ganz blöde Frage denn ich scheitere an der Konsole bzw. dem Zugang zu dem Filesystem. Ich blick nicht mehr durch!

 

also ganz ehrlich und auch nicht bös gemeint, aber wenn du jetzt anfängst im system zu spielen und die Grundlagen nicht hast ... solltest du überlegen ob du das wirklich machen solltest ...

 

eine kleine Vorstellung zum kopieren, verschieben (copy und umbenennen), löschen im terminal

 

root@AlsServer:~# cd /etc/libvirt/hooks/qemu.d/
root@AlsServer:/etc/libvirt/hooks/qemu.d# ls -la
total 4
drwxrwxrwx 1 root root   24 Jan 14 08:12 ./
drwxr-xr-x 1 root root   38 Feb 10 06:30 ../
-rwxrwxrwx 1 root root 2504 Mar  1 19:51 hook_scripts*
root@AlsServer:/etc/libvirt/hooks/qemu.d# cp hook_scripts /mnt/user/Nextcloud/alturismo/files/Dokumente/
root@AlsServer:/etc/libvirt/hooks/qemu.d# ls -la /mnt/user/Nextcloud/alturismo/files/Dokumente/hook*
-rwxrwxrwx 1 root root 2504 Mar 30 14:28 /mnt/user/Nextcloud/alturismo/files/Dokumente/hook_scripts*
root@AlsServer:/etc/libvirt/hooks/qemu.d# mv /mnt/user/Nextcloud/alturismo/files/Dokumente/hook_scripts hook_scripts2
root@AlsServer:/etc/libvirt/hooks/qemu.d# ls -la
total 8
drwxrwxrwx 1 root root   50 Mar 30 14:29 ./
drwxr-xr-x 1 root root   38 Feb 10 06:30 ../
-rwxrwxrwx 1 root root 2504 Mar  1 19:51 hook_scripts*
-rwxrwxrwx 1 root root 2504 Mar 30 14:28 hook_scripts2*
root@AlsServer:/etc/libvirt/hooks/qemu.d# rm hook_scripts2
root@AlsServer:/etc/libvirt/hooks/qemu.d# ls -la
total 4
drwxrwxrwx 1 root root   24 Mar 30 14:29 ./
drwxr-xr-x 1 root root   38 Feb 10 06:30 ../
-rwxrwxrwx 1 root root 2504 Mar  1 19:51 hook_scripts*
root@AlsServer:/etc/libvirt/hooks/qemu.d#

 

aber bitte ernsthaft, einlesen, erst mal in einem "Spaß" Ordner spielen, testen, usw usw ... Anleitungen wie das Terminal zu nutzen sind gibt es ja ne Menge ...

 

hier noch etwas zum Lesen bzgl. qemu hooks https://libvirt.org/hooks.html

 

aber auch dies, google, suchen, einlesen ... das hat auch alles nichts mit Unraid an sich zu tun sondern ist generell so ... und auch nur wenn du selbst verstanden hast was da wie, wo, ... passiert, kannst du agieren wenn mal was nicht klappt, ansonsten kommt hier die nächste Frage und die nächste ...

 

viel Erfolg bei deinem Projekt jetzt, aber bitte nicht jammern wenn etwas schief läuft ;) backups machen !!!

  • Like 1
Link to comment

"also ganz ehrlich und auch nicht bös gemeint, aber wenn du jetzt anfängst im system zu spielen und die Grundlagen nicht hast ... solltest du überlegen ob du das wirklich machen solltest ..."

 

das hab ich befürchtet...

 

... frickeln mit der Konsole um drei Dateien zu kopieren 😞

 

Krieg ich hin...

Link to comment
43 minutes ago, mikep70 said:

Gibts ne Chance den Krusader in das Root Dadeisystem zu bekommen um das Konsolengefrickele zu umgehen?

Naja du müsstest halt den root Ordner in krusader mounten. Ist ja auch nur ein Docker.

Aber auch da gilt dann, man sollte wissen was man tut. Denn ein falsches klick/enter und man kann richtig Mist bauen!

Link to comment

Das hat mir dem User auch nichts zu tun.

Wie gesagt, Krusader ist "nur" ein Docker und sieht somit nur die Ordner, die man vorher im Template auch gemountet hat.

Ich nutze Krusader selbst nicht, vermute jetzt aber Mal, das eben nur "mnt/User" Standardmäßig gemountet wird

Link to comment
4 minutes ago, mikep70 said:

User Root doch die gleichen Ordner sehen wie als Unraid/Root in der Konsole

Wärst du tatsächlich auf dem Host, ja.

Du arbeitest aber in einem Docker, eine Mini-VM.

Hier hast du nur soviel Zugriff auf den Host, wie vorher beim Anlegen zugelassen. Sche..egal ob du dann root bist oder guest.

Link to comment
1 hour ago, mikep70 said:

Mag sein, doch rein von meiner Überlegung her sollte ich als User Root doch die gleichen Ordner sehen wie als Unraid/Root in der Konsole - das ist aber nicht der Fall, womit meine Überlegung falsch ist.

 

sorry, auch dies zeigt du solltest dies erst recht nicht machen bevor du weißt was du da machst ... Grundlagen einlesen ... ;)

 

Aber hey, ist dein Server, also, immer aus Docker "Point of view" denken, sprich, solange im Docker der Host Pfad nicht hinterlegt ist, kann da auch nichts x"von innen nach außen" zugreifen ...

 

So könnte das aussehen ... aus Docker POV ist /ACHTUNG jetzt das root system vom Host /

 

image.thumb.png.ef8608e58869683d11e0110684648f87.png

 

damit solltest du dann überall Zugriff haben und alles machen können was du willst, viel Spaß dabei ;)

 

sieht dann so aus ...

image.thumb.png.4bb40eca07566dcd37506bcae913b2fd.png

 

ein paar kleine Grundlagen in Docker oder einfach die templates anschauen ... dann sollte das System klarer sein ... ansonsten bräuchte es auch keine isolierten Docker wenn die eh auf alles zugreifen könnten ...

 

support endet HIER ;) alles auf eigene Gefahr ;) usw usw usw ... viel Erfolg ;)

Link to comment

Erstmal Danke für die Hilfe. 

 

"sorry, auch dies zeigt du solltest dies erst recht nicht machen bevor du weißt was du da machst ... Grundlagen einlesen ... "

 

Sorry - aber das ist meine Art zu lernen. 

Stick hab ich backup gemacht  und Array Daten gespiegelt auf NAS - Wenn ich das System an die Wand fahre ist es schnell wieder korrigiert.

 

Jetzt trau ich mich nicht mehr zu fragen 😞 


 

 

 

 

Link to comment

Zumindest hab ich jetzt kapiert das ein Docker ein eigenes Linux ist bzw. ein eigenes Linux Dateisystem hat das vom Host abgekoppelt ist quasi mini VM - war mir so nicht klar. Danke! 

Und ich hab jetzt endlich die verf. drei Files in den Ordnerauf dem Host kopiert bekommen ohne mir die konsole antuen zu müssen. 🙂

 

 

Link to comment

Back to the Topic:

 

Jetzt alles umgesetzt mit den Hooks, die RTX schlafen geschickt, den intel_pstate disabled und den Governors auf "demand" laufen.

 

Bringt bei mir ein zufriedenstellendes Ergebnis bzgl. Kerntakt. Server 

image.png.60b419cec8fcb01b3088ad598e8787c3.png

 

Server liegt dann nach  ersten hochfahren bei ziemlich genau 60W und Kerne sind runtergetaktet.

Ich hatte gestern vor den ganzen Powerstate spielereien mal einen Verbrauch von 47W auf der Anzeige (eine Platte war runtergefahren allerdings). Davor etliche male die VM hoch runter und RTX schlafen, wecken usw.

 

Jetzt direkt ohne was zu machen 60W Hm?, seltsam.

 

Auch hatte ich gestern in der VM beim Spielen keinen "runden" lauf, soll heissen immer mal wieder ruckler drin. Auch das muss ich weiter testen.

 

Bleibe am Ball...

 

 

 

 

Link to comment

So, zwei Stunden gestellt, gedaddelt und rumprobiert.

 

Zwischenfazit:

 

1. Nvidia in Schlafmodus setzen und bei Bedarf einer VM aufwecken = TOP - bringt ca. 15W im Unraid Only Betrieb.

2. Intel P_State Treiber abschalten und den Governor manuel anweisen was zu tun ist = SCHLECHT

Man bekommt die CPU Frequenzen im Unraid Only Betrieb wunderbar auf 800Mhz was nochmal ca. 3W Einsparung bringt ABER, wenn das ABER nicht wäre. Man greift natürlich heftig in den Takthaushalt der CPU ein und zumindest bei mir nimmt mir das meine VM zum Gaming richtig übel. Powersettings in der VM über Windows Energiesparplan funktionieren nur noch rudimentär, der Verbrauch der VM geht prinzipell im Leerlauf hoch was evtl. noch zu verkraften wäre aber was viel, viel dramatischer ist die Spieleperformance sinkt rapide bei gleichzeitimgem Rekordverbrauch. Die VM läuft komplett "unrund. Ruckler Aussetzer, Judder beim Spielen. Ich betreibe die VM im Gaming an einem 144Hz/1440p Monitorsetup.

 

=> Mein Fazit bisher: Macht nen Haken dran, den Intel P_STATE abzuschalten. Bringt alles aus dem Tritt in einer Windows VM. Spielen mit P_STATE Treiber aktiv und Governor auf Powersave/Powersave bei gleichzeitigem Setzen von Windows Energiesparen=Ausgeglichen ist der Lösung ohne P_STATE Treiber meilenweit überlegen bei gleichzeitig nur 3W Mehrverbrauch im Unraid Only.

 

Beobachtung ausserdem - Wenn die VM einmal gestartet und wieder gestoppt wird geht mein Unraid Only Verbrauch nochmal 10W runter auf jetzt ca. 51W anstatt 60W direkt nach Start ohne eine VM gestartet zu haben.

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.