Je suis sur Ubuntu 17.10 et j'ai à la fois une carte intel et Nvidia GTX 1060 (cette dernière généralement sélectionnée), avec la version du pilote 387.22 .
J'ai remarqué les entrées suivantes dans mon /var/log/syslog
:
Nov 22 18:46:36 [machine name omitted] systemd[1]: Starting NVIDIA Persistence Daemon...
- [certaines entrées sans rapport]
Nov 22 18:46:36 [...] systemd[1]: Started NVIDIA Persistence Daemon.
- [certaines entrées sans rapport]
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.
La partie étrange est que ces entrées (et quelques-unes liées que je pourrais omettre ici) se produisent continuellement , plusieurs fois et parfois dans le même horodatage.
Cela me semble suspect - pourquoi le démon est-il continuellement démarré et arrêté de cette façon et cela n'aurait-il pas un impact important sur les performances ?
Je demande parce que je ne sais toujours pas pourquoi ma machine fonctionne si mal (en particulier en ce qui concerne les jeux) en 17.10, par rapport à 17.04 - voir la question connexe.
De toute évidence, le bureau et les dépendances sont les principaux suspects ici, pas tellement la version du pilote (je me souviens avoir vu exactement la même chose avec une version précédente).
Questions
- Ce qui précède reflète-t-il un comportement normal, et si ce n'est pas le cas, comment l'examiner/le corriger ?
- Cela pourrait-il être lié à des problèmes de performances lors de l'exécution d'applications exigeantes, telles que des jeux ?
Modifier
Fait intéressant, si je me connecte avec l'ancien bureau Unity, ces entrées de journal ne semblent pas se produire. tout à fait pareil.
Réponse acceptée :
Bien que ce soit un vieux problème, je l'ai toujours rencontré moi-même sur Kubuntu 18.04 et pilote nvidia 390 . À savoir, le démon nvidia-persistence spamme l'écran lors du démarrage (parfois, pas toujours). Ainsi, ma solution contourne le démarrage standard du démon nvidia au démarrage du système en utilisant un service systemd séparé .
Comme indiqué précédemment, il semble que ce soit une mauvaise configuration du démarrage du démon nvidia-persistence. Plus précisément, les règles udev semblent être le problème pour moi. Ainsi, j'ai modifié /lib/udev/rules.d/71-nvidia.rules
et commenté les actions sous power-off et power-on. Comme mentionné dans d'autres réponses, vous pouvez également commenter les lignes de chargement et de déchargement.
Maintenant, le démon ne démarre pas à la mise sous tension. Par conséquent, nous devons programmer le démarrage du démon manuellement. Nous pouvons y parvenir en copiant /lib/systemd/system/nvidia-persistenced.service
, par exemple
sudo cp /lib/systemd/system/nvidia-persistenced.service /lib/systemd/system/nvidia-persistenced-manual.service
Modifiez maintenant /lib/systemd/system/nvidia-persistenced-manual.service
ressembler à ceci :
[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
Pour activer le service, exécutez
sudo systemctl enable nvidia-persistenced-manual.service
et si l'ancien service est toujours activé, lancez
sudo systemctl disable nvidia-persistenced.service
De cette façon, le démon démarrera au démarrage du système. N'hésitez pas à modifier la ligne ExecStart=/usr/bin/nvidia-persistenced
à par ex. inclure --verbose
ou --user [...]
.
Gardez à l'esprit que, de ma manière par défaut, le démon s'exécute avec des autorisations root . Si vous ne le souhaitez pas, assurez-vous d'exécuter le démon avec le --user
arguments.
Dans l'ensemble, ce n'est pas une solution parfaite, mais cela a permis de corriger le bogue sur mon système.