Der NVIDIA Persistenz-Daemon wird im Syslog kontinuierlich gestartet und gestoppt

Der NVIDIA Persistenz-Daemon wird im Syslog kontinuierlich gestartet und gestoppt

Ich verwende Ubuntu 17.10 und habe sowohl eine Intel- als auch eine Nvidia GTX 1060-Karte (letztere wird normalerweise ausgewählt), mit der Treiberversion387,22.

Mir sind folgende Einträge in meinem aufgefallen /var/log/syslog:

  • Nov 22 18:46:36 [machine name omitted] systemd[1]: Starting NVIDIA Persistence Daemon...
  • [einige unabhängige Einträge]
  • Nov 22 18:46:36 [...] systemd[1]: Started NVIDIA Persistence Daemon.
  • [einige unabhängige Einträge]
  • Nov 22 18:46:36 [...] systemd[1]: Stopping NVIDIA Persistence Daemon...
  • Nov 22 18:46:36 [...] nvidia-persistenced: PID file unlocked.
  • Nov 22 18:46:36 [...] nvidia-persistenced: PID file closed.
  • Nov 22 18:46:36 [...] nvidia-persistenced: The daemon no longer has permission to remove its runtime data directory /var/run/nvidia-persistenced
  • Nov 22 18:46:36 [...] nvidia-persistenced: Shutdown (1115)
  • Nov 22 18:46:36 [...] gdm3: GdmDisplay: display lasted 1.202396 seconds
  • Nov 22 18:46:36 [...] systemd[1]: Stopped NVIDIA Persistence Daemon.

Das Seltsame daran ist, dass diese Einträge (und einige damit verbundene, die ich hier vielleicht auslasse) auftretenständig, mehrmals und manchmal innerhalb desselben Zeitstempels.

Das klingt für mich verdächtig – warum wird der Daemon ständig auf diese Weise gestartet und gestoppt und würde sich das nicht erheblich auf die Leistung auswirken?

Ich frage, weil ich immer noch keine Ahnung habe, warum meine Maschine in 17.10 im Vergleich zu 17.04 so schlecht abschneidet (insbesondere beim Spielen) - siehe verwandteFrage.

Offensichtlich sind hier der Desktop und die Abhängigkeiten die Hauptverdächtigen und nicht so sehr die Treiberversion (ich erinnere mich, bei einer früheren Version genau dasselbe gesehen zu haben).

Fragen

  • Ist das oben genannte ein normales Verhalten und wenn nicht, wie kann es untersucht/behoben werden?
  • Könnte dies mit Leistungsproblemen beim Ausführen anspruchsvoller Anwendungen wie Spielen zusammenhängen?

Bearbeiten

Interessanterweise treten diese Protokolleinträge nicht auf, wenn ich mich mit dem alten Unity-Desktop anmelde. Die Leistung scheint aus reiner Desktop-Perspektive auch viel schneller zu sein (obwohl ich mir das vielleicht nur einbilde), aber die Gaming-Leistung ist ziemlich gleich.

Antwort1

Obwohl dies ein altes Problem ist, bin ich selbst immer noch darauf gestoßen beiKubuntu 18.04UndNVIDIA-Treiber 390. Der nvidia-persistence-Daemon überflutet nämlich den Bildschirm während des Bootvorgangs (manchmal, nicht immer). Daher umgeht meine Lösung den Standardstart des nvidia-Daemons beim Systemstart, indem sie einenseparater systemd-Dienst.

Wie bereits erwähnt, scheint es sich um eine Fehlkonfiguration beim Starten des Nvidia-Persistence-Daemons zu handeln. Genauer gesagt scheinen bei mir die Udev-Regeln das Problem zu sein. Daher habe ich /lib/udev/rules.d/71-nvidia.rulesdie Aktionen beim Ausschalten und Einschalten geändert und auskommentiert. Wie in anderen Antworten erwähnt, können Sie auch die Zeilen zum Laden und Entladen auskommentieren.

Nun startet der Daemon nicht mehr beim Einschalten. Folglich müssen wir den Start des Daemons manuell planen. Dies erreichen wir, indem wir kopieren /lib/systemd/system/nvidia-persistenced.service, z. B.

sudo cp /lib/systemd/system/nvidia-persistenced.service /lib/systemd/system/nvidia-persistenced-manual.service

Ändern Sie es nun /lib/systemd/system/nvidia-persistenced-manual.serviceso, dass es ungefähr so ​​aussieht:

[Unit]
Description=NVIDIA Persistence Daemon
Wants=syslog.target
Requires=local-fs.target

[Service]
Type=forking
User=root
Group=root
ExecStart=/usr/bin/nvidia-persistenced
ExecStopPost=/bin/rm -rf /var/run/nvidia-persistenced

[Install]
WantedBy=multi-user.target

Um den Dienst zu aktivieren, führen Sie aus

sudo systemctl enable nvidia-persistenced-manual.service

und wenn der alte Dienst noch aktiviert ist, führen Sie

sudo systemctl disable nvidia-persistenced.service

Auf diese Weise wird der Daemon beim Systemstart gestartet. Sie können die Zeile gerne ändern, ExecStart=/usr/bin/nvidia-persistencedum beispielsweise --verboseoder einzuschließen --user [...].

Beachten Sie, dass der Daemon in meiner Standardeinstellung mitRoot-BerechtigungenWenn Sie dies nicht möchten, führen Sie den Daemon unbedingt mit dem --userArgument aus.

Insgesamt ist dies keine perfekte Lösung, aber der Fehler auf meinem System konnte behoben werden.

Antwort2

Die Einträge werden durch eine unnötige Konfigurationsdatei aus dem Nvidia-Paket verursacht:

  • Führen Sie den Befehl nvidia-smi von der Shell aus. Sie müssen irgendwo oben links „Persistence-M On“ sehen.
  • Sie können testen, ob Ihre Nvidia-Treiber ohne „Persistence-M“ ordnungsgemäß funktionieren.
  • Gehen Sie zu /lib/systemd/system/ . Hier finden Sie eine Datei namens nvidia-persistenced.service. Benennen Sie sie um oder verschieben Sie sie.
  • Gehen Sie zu /lib/udev/rules.d/
  • Öffnen Sie als Root die Konfigurationsdatei 71-nvidia.rules
  • Kommentieren Sie # die Aktionen unter Einschalten, Ausschalten und Laden und Entladen aus.
  • Neu starten und prüfen.

Danke an void75, forums.linuxmint.com

verwandte Informationen