Website-Suche

So legen Sie das NVIDIA Power Limit unter Ubuntu fest


Die Verwaltung des Stromverbrauchs Ihrer NVIDIA-GPU unter Ubuntu kann zu einer verbesserten Effizienz führen, insbesondere bei Aufgaben, bei denen die Funktionen der GPU nicht voll ausgeschöpft werden. In dieser Anleitung erfahren Sie, wie Sie die Leistungsgrenzen für Ihre NVIDIA-GPU überprüfen und festlegen, um sicherzustellen, dass Ihr Gerät optimal und ohne unnötigen Stromverbrauch läuft.

In diesem Tutorial lernen Sie:

  • So überprüfen Sie die aktuellen Leistungsgrenzen Ihrer NVIDIA-GPU.
  • So legen Sie ein neues Leistungslimit für Ihre NVIDIA-GPU fest.
  • So bestätigen Sie die neuen Einstellungen.
  • So machen Sie das NVIDIA-Leistungslimit über Neustarts hinweg persistent.

Schritt-für-Schritt-Anleitung zum Festlegen von NVIDIA-Leistungsgrenzen

  1. Überprüfen Sie Ihre aktuellen Leistungsgrenzen: Beginnen Sie mit der Bewertung der aktuellen Leistungsgrenzen für Ihre NVIDIA-GPU. Dieser Schritt ist entscheidend, um Ihre Ausgangslage zu verstehen.

    nvidia-smi -q -d POWER

    Dieser Befehl zeigt detaillierte Informationen zum Energieverbrauch Ihrer NVIDIA-GPU an, einschließlich des aktuellen Leistungslimits, des Standardleistungslimits und der minimal und maximal zulässigen Leistungsgrenzen.

  2. Neues NVIDIA-Leistungslimit festlegen: Passen Sie das Leistungslimit unter Berücksichtigung der Fähigkeiten der GPU und Ihrer Energieeffizienzziele auf einen gewünschten Wert an.

    sudo nvidia-smi -pl 200

    In diesem Beispiel wird der Leistungsgrenzwert auf 200 W festgelegt. Stellen Sie sicher, dass der von Ihnen gewählte Wert innerhalb der im vorherigen Schritt gezeigten Mindest- und Höchstgrenzen liegt.

  3. Bestätigen Sie die Einstellungen: Stellen Sie sicher, dass das neue Leistungslimit korrekt auf Ihre NVIDIA-GPU angewendet wurde.

    nvidia-smi -q -d POWER

    Überprüfen Sie die Ausgabe, um sicherzustellen, dass das "Current Power Limit" den Wert widerspiegelt, den Sie im vorherigen Schritt festgelegt haben.

  4. NVIDIA Power Limit persistent machen (optional): Wenn Sie möchten, dass die Einstellung für das Power-Limit auch bei Neustarts beibehalten wird, können Sie ein benutzerdefiniertes systemd-Service-Skript erstellen.

    Obwohl ich die Standardverfahren befolgte, um sicherzustellen, dass die NVIDIA-Leistungsbegrenzungseinstellungen auch bei Systemneustarts beibehalten werden, stieß ich auf Herausforderungen. Zunächst habe ich versucht, den Persistenzmodus direkt über die NVIDIA-Verwaltungsschnittstelle (nvidia-smi) mit dem Befehl sudo nvidia-smi -pm 1 zu aktivieren. Dieser Ansatz wird häufig empfohlen, da er die Energieverwaltungseinstellungen ohne weiteres Eingreifen des Benutzers dauerhaft machen soll. Leider war diese Methode nicht erfolgreich, so dass die Einstellungen für die Leistungsbegrenzung beim Neustart des Systems zurückgesetzt wurden.

    Auf der Suche nach einer Lösung wandte ich mich einem anderen gängigen Ansatz zu: dem Ändern des systemd-Dienstskripts für die NVIDIA-Persistenz. Bei dieser Methode wird der Befehl sudo systemctl edit nvidia-persistenced.service verwendet, um den NVIDIA Persistence Daemon zu ändern, um sicherzustellen, dass die GPU-Einstellungen, einschließlich des Leistungslimits, auch nach dem Neustart konstant bleiben. Allerdings führte auch dieser Versuch nicht zum gewünschten Ergebnis. Die Änderungen am systemd-Dienstskript führten nicht zu dauerhaften Energiebegrenzungseinstellungen, was darauf hindeutet, dass die Änderungen entweder nicht korrekt angewendet oder von einem anderen Systemprozess überschrieben wurden.

    Angesichts dieser Rückschläge bestand die Lösung darin, ein benutzerdefiniertes systemd-Service-Skript speziell zum Festlegen des Leistungslimits der NVIDIA-GPU zu erstellen. Dieser Ansatz ermöglicht die direkte Kontrolle über die Einstellung des Leistungslimits beim Systemstart, wodurch die Persistenz über Neustarts hinweg sichergestellt wird, ohne sich auf die integrierten Persistenzoptionen verlassen zu müssen, die nicht wie erwartet funktionierten.

    sudo nano /etc/systemd/system/nvidia-power-limit.service

    Fügen Sie den folgenden Inhalt in die Datei ein:

    [Unit]
    Description=Set NVIDIA GPU Power Limit
    
    [Service]
    Type=oneshot
    ExecStart=/usr/bin/nvidia-smi -pl 200
    
    [Install]
    WantedBy=multi-user.target
    

    Aktivieren Sie den Dienst, um das Leistungslimit beim Booten automatisch anzuwenden:

    sudo systemctl enable nvidia-power-limit.service

    Dadurch wird sichergestellt, dass Ihre Einstellung für die Leistungsbegrenzung bei jedem Systemstart wiederhergestellt wird.

Schlussfolgerung

Das Festlegen eines Leistungslimits für Ihre NVIDIA-GPU unter Ubuntu kann dazu beitragen, den Stromverbrauch effizient zu verwalten. Wenn Sie die in diesem Leitfaden beschriebenen Schritte befolgen, können Sie sicherstellen, dass Ihre GPU innerhalb der gewünschten Leistungsgrenzen arbeitet, wodurch möglicherweise Energie gespart und die Wärmeabgabe reduziert wird. Denken Sie daran, Ihre spezifischen Hardware- und Workload-Anforderungen zu berücksichtigen, wenn Sie die Leistungsgrenzen anpassen.

Häufig gestellte Fragen (FAQs) zum Festlegen des NVIDIA Power Limits unter Ubuntu

  1. Was ist der Zweck des Festlegens eines Leistungslimits für NVIDIA-GPUs?Das Festlegen eines Leistungslimits für NVIDIA-GPUs hilft, den Stromverbrauch zu verwalten und zu reduzieren, was zu potenziell niedrigeren Stromkosten und einer geringeren Wärmeabgabe führt, was die Lebensdauer der Hardware verlängern und ihre Effizienz verbessern kann, insbesondere in thermisch begrenzten Umgebungen.
  2. Kann das Festlegen eines Leistungslimits für meine NVIDIA-GPU die Leistung beeinträchtigen?Ja, das Festlegen eines Leistungslimits kann die Leistung der GPU beeinträchtigen, insbesondere wenn das Limit unter dem üblichen Stromverbrauch der GPU für Hochleistungsaufgaben liegt. Es kann zu einer verringerten Leistung führen, ist aber vorteilhaft für die Kontrolle des Energieverbrauchs und der Wärmeabgabe.
  3. Ist es möglich, unterschiedliche Leistungsgrenzen für mehrere NVIDIA-GPUs im selben System festzulegen?Ja, Sie können unterschiedliche Leistungsgrenzen für mehrere NVIDIA-GPUs festlegen, indem Sie die eindeutige Kennung der GPU mit der Option "nvidia-smi -i" angeben, gefolgt von der gewünschten Einstellung für die Leistungsbegrenzung für jede GPU einzeln.
  4. Wie finde ich die minimale und maximale maximale Leistungsgrenze für meine NVIDIA-GPU?Sie können die minimalen und maximalen Leistungsgrenzen für Ihre NVIDIA-GPU ermitteln, indem Sie den Befehl "nvidia-smi -q -d POWER" verwenden, der detaillierte Informationen zur Leistung liefert, einschließlich dieser Grenzwerte.
  5. Muss ich mein System neu starten, nachdem ich ein neues Energielimit festgelegt habe?Nein, Sie müssen Ihr System nicht neu starten, nachdem Sie ein neues Leistungslimit festgelegt haben. Die Änderung wird sofort wirksam, bleibt aber nach einem Neustart nicht erhalten, es sei denn, Sie erstellen einen systemd-Dienst oder einen anderen Persistenzmechanismus.
  6. Bleibt die Einstellung für die Leistungsbegrenzung auch bei Treiberupdates erhalten?Die Einstellungen für die Leistungsbegrenzung werden möglicherweise nicht über NVIDIA-Treiberupdates hinweg beibehalten. Es ist ratsam, Ihre bevorzugten Leistungsbegrenzungseinstellungen nach dem Aktualisieren Ihrer Treiber zu überprüfen und erneut anzuwenden, um sicherzustellen, dass sie in Kraft bleiben.
  7. Kann ich diese Methode verwenden, um Leistungslimits für GPUs festzulegen, die nicht von NVIDIA stammen?Nein, die mit 'nvidia-smi' beschriebene Methode ist spezifisch für NVIDIA-GPUs. Die GPUs anderer Hersteller erfordern andere Tools oder Methoden, um die Energieeinstellungen anzupassen.
  8. Was soll ich tun, wenn das Festlegen eines Leistungslimits keinen Einfluss auf den Stromverbrauch zu haben scheint?Wenn sich das Festlegen eines Energielimits nicht auf den Stromverbrauch auswirkt, stellen Sie sicher, dass Sie die Einstellung korrekt anwenden und dass Ihre GPU Energieverwaltungsfunktionen unterstützt. Darüber hinaus sollten Sie die NVIDIA-Dokumentation konsultieren oder Support in Anspruch nehmen, um sicherzustellen, dass keine zugrunde liegenden Probleme mit Ihrer Hardware- oder Softwarekonfiguration vorliegen.
  9. Gibt es eine Möglichkeit, den Prozess des Festlegens des Leistungslimits beim Systemstart zu automatisieren?Ja, das Erstellen eines benutzerdefinierten systemd-Dienstskripts, wie in der Anleitung beschrieben, ist eine effektive Möglichkeit, das Festlegen des Leistungslimits beim Systemstart zu automatisieren. Dadurch wird sichergestellt, dass das Leistungslimit bei Neustarts ohne manuellen Eingriff konsistent angewendet wird.

Verwandte Artikel: