Strom sparen mit NVIDIA GPUs in Unraid


Recommended Posts

Energiekosten & Temperatur senken mit einer nVIDIA GPU unter Unraid

In meinem Beispiel mit einer nVIDIA P2000 von 18W zu 5W im Idle.

nvidiagpu.thumb.jpg.f11805b4a7727689b607ba6022cf9c6b.jpg

Hinweis:
- Nicht für GPUs die an eine VM durchgereicht werden.
- Für nVIDIA GPUs die für Docker verwendet werden.
- Benötigt die Installation von Nvidia Driver Plugin.
- Funktioniert für Transkodierung mit Emby/Jellyfin/Plex/Tdarr und andere Dockers

Installation:
- Öffne config/go mit einen Editor auf deinem Unraid USB-Stick.
- Füge dieses Command hinzu:

nvidia-persistenced

- Speichern & Unraid Neustarten.

719491014_gofile.thumb.JPG.1a0cb207e62132216b29a4c609240196.JPG


Altes Script mit Energieersparnis Berechnung* :
https://github.com/SpaceinvaderOne/nvidia_powersave

* Sollte (aktuell) nicht mehr verwendet werden da "nvidia-smi" verwendet wird!
Eine Anpassung von "nvidia-smi" zu "nvidia-persistenced" ist möglich.
"nvidia-persistenced" muss dazu nicht Stündlich ausgeführt werden, es reicht 1x bei Server-Start außer man möchte die Energieersparnis Berechnung verwenden.
 

Vielen Dank an @ich777 für Hinweise und Zusammenarbeit.

Edited by EliteGroup
  • Like 1
Link to comment
8 minutes ago, EliteGroup said:

Bitte dieses Skript nicht mehr benutzen das ist outdated, zumindest das kommando, klar, du kannst mit dem einzelne GPUs ansprechen aber es wird auch angeführt das dieses kommando mal entfernt wird (diesen Hinweis gibt es schon seit einigen Jahren).

 

Stattdessen solltest du schlichtweg:

nvidia-persistenced

ausführen, das genügt einmal beim starten von Unraid. Wie du das machst ist dir überlassen, entweder im go file in einem User Script.

 

5 minutes ago, EliteGroup said:

Vielleicht lässt sich dieses Script in Nvidia Driver Plugin integrieren als Option in den Einstellungen?

Sorry aber das werde ich nicht integrieren weil das auch zu Komplikationen fürhen kann wie beispielsweise wenn jemand zwei GPUs verbaut hat und eine für Docker und eine GPU in einer VM verwendet und dabei die zweite Karte nicht stubbed ist, dann ist die Wahrscheinlichkeit groß das der Server crashed.

 

Klar man könnte das anders lösen das man nvidia-persistenced ein kill sendet bevor man die VM startet und wenn sie gestartet ist wieder nvidia-persistenced ausführt aber das ist ein wenig aufwändiger aber würde auch funktionieren.

  • Thanks 1
Link to comment
2 minutes ago, ich777 said:

Stattdessen solltest du schlichtweg:

nvidia-persistenced

 

Nur das Command "nvidia-persistenced" ausführen
statt "nvidia-smi --persistence-mode=1" wie im Script oben?

Für die einfache Verwendung in Unraid mit Emby/Plex und einer GPU kommt es bisher zu keinen Problemen und reduziert Verbrauch & Temperatur.
Zumindest konnte ich bisher mit der single GPU nichts negatives feststellen 🙂
Danke für den Hinweis

Link to comment
3 minutes ago, EliteGroup said:

Nur das Command "nvidia-persistenced" ausführen

statt "nvidia-smi --persistence-mode=1" wie im Script oben?

Genau, mehr braucht es nicht.

 

3 minutes ago, EliteGroup said:

Für die einfache Verwendung in Unraid mit Emby/Plex und einer GPU kommt es bisher zu keinen Problemen und reduziert Verbrauch & Temperatur.
Zumindest konnte ich bisher mit der single GPU nichts negatives feststellen 🙂

Ja das macht auch nichts, aber ich versuche nichts ins plugin ein zu bauen was evtl. für manche Nutzer Probleme verursacht.

 

Wie gesagt, `nvidia-persistenced` ist der "neue" Weg und du brauchst das auch nicht dauernd ausführen weil das ein Hintergrunddienst ist, wie gesagt einmal beim starten genügt vollkommen. ;)

 

Vielleicht könntest du das auch in deinen ersten Post nochmal wo rein schreiben bitte.

  • Thanks 1
Link to comment
1 minute ago, ich777 said:

@EliteGroup hab grad sogar gesehen das es in dem verlinkten Repo einen Issue gibt wo genau die Fehlermeldung angezeigt wird. :D


Interessant ist, das Issue ist von 2022 und SpaceinvaderOne hat vor 20 Stunden das Script aktualisiert mit aufwendigen (mein Meinung nach weniger Sinnvollen) Funktionen wie:
Energiekosten Berechnung
Aber trotzdem wird auf "nvidia-smi" statt "nvidia-persistenced" gesetzt... 🤔
Sie setzten ja auf die Info wegen VMs:

Quote

In this script, nvidia-smi is utilized for managing GPU power states, as opposed to nvidia-persistenced. This decision stems from observations in my tests, where enabling persistence mode led to crashes of the Unraid server when a GPU in this mode was allocated to a VM. So, nvidia-smi has been chosen to avoid possibility of a server crash when the gpu is passed through to a vm.


Danke für deine Infos @ich777 ich werde meinen Beitrag dementsprechend bearbeiten.

  • Like 1
Link to comment
6 minutes ago, EliteGroup said:

Interessant ist, das Issue ist von 2022 und SpaceinvaderOne hat vor 20 Stunden das Script aktualisiert

Ja genau, diese Meldung kommt immer wenn du den Befehl ausführst, es änder wie gesagt nix dran das der Befehl "alt" ist und nicht mehr verwendet werden sollte.

 

5 minutes ago, EliteGroup said:

Aber trotzdem wird auf "nvidia-smi" statt "nvidia-persistenced" gesetzt... 🤔

Ich hab ihm grad eine Nachricht geschrieben, du kannst es auch selbst im script ändern aber du brauchst es nicht alle paar Stunden ausführen außer du willst die Berechnung von der Stromersparnis. ;)

 

Wie gesagt im go file oder das erste mal beim Array start ausführen reicht vollkommen.

  • Like 1
Link to comment

Habe jetzt vom alten Script auf das hier empfohlene gewechselt. Alte Scripts gelöscht und in die go Datei eingetragen

Grafikkarte ist eine 1660TI, der idle Verbrauch ist nach dem Neustart bei 17 Watt. Ist das normal bei dieser Karte?

 

image.png.df44d74402193c75eeaed026a83eb329.png

 

Link to comment
26 minutes ago, Civic1201 said:

Habe jetzt vom alten Script auf das hier empfohlene gewechselt. Alte Scripts gelöscht und in die go Datei eingetragen

Grafikkarte ist eine 1660TI, der idle Verbrauch ist nach dem Neustart bei 17 Watt. Ist das normal bei dieser Karte?

Du siehst Power State P8 und unter PCIe runter auf 1 von 3. Das passt.

Wie weit deine Watt runter gingen musst du testen und den Eintrag entfernen. Dann weist du wie viel weniger du nun verbrauchst. Das ist von GPU zu GPU verschieden.

lg

  • Thanks 1
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.