Používám Ubuntu 17.10 a mám jak kartu intel, tak kartu Nvidia GTX 1060 (obvykle vybraná) s verzí ovladače 387.22 .
V mém /var/log/syslog
jsem si všiml následujících záznamů :
Nov 22 18:46:36 [machine name omitted] systemd[1]: Starting NVIDIA Persistence Daemon...
- [některé nesouvisející záznamy]
Nov 22 18:46:36 [...] systemd[1]: Started NVIDIA Persistence Daemon.
- [některé nesouvisející záznamy]
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.
Zvláštní je, že tyto záznamy (a několik souvisejících, které zde možná vynechám) se vyskytují nepřetržitě , vícekrát a někdy v rámci stejného časového razítka.
To mi přijde podezřelé – proč se démon neustále spouští a zastavuje tímto způsobem a nemělo by to vážný dopad na výkon?
Ptám se, protože stále nevím, proč můj počítač funguje tak špatně (zejména s ohledem na hraní her) v 17.10 ve srovnání s 17.04 – viz související otázka.
Je zřejmé, že hlavním podezřelým je zde plocha a závislosti, ne tolik verze ovladače (vzpomínám si, že jsem viděl přesně to samé u předchozí verze).
Otázky
- Odráží výše uvedené chování normální chování, a pokud ne, jak to prošetřit/napravit?
- Může to souviset s problémy s výkonem při spouštění náročných aplikací, jako jsou hry?
Upravit
Zajímavé je, že pokud se přihlásím se starým Unity desktopem, zdá se, že se tyto záznamy v protokolu nevyskytují.
Výkon se také zdá mnohem svižnější z čistě desktopové perspektivy (ačkoli to může být moje představa), ale herní výkon je úplně stejné.
Přijatá odpověď:
Ačkoli se jedná o starý problém, stále jsem se s ním setkal na Kubuntu 18.04 a ovladač nvidia 390 . Konkrétně démon nvidia-persistence spamuje obrazovku během spouštění (někdy, ne vždy). Moje řešení tedy obchází standardní spouštění démona nvidia při spouštění systému pomocí samostatné systémové služby .
Jak bylo uvedeno výše, zdá se, že jde o nesprávnou konfiguraci spouštění démona nvidia-persistence. Přesněji se mi zdají být problémem pravidla udev. Proto jsem upravil /lib/udev/rules.d/71-nvidia.rules
a komentoval akce při vypnutí a zapnutí. Jak je uvedeno v jiných odpovědích, můžete také komentovat řádky pro nakládání a vykládání.
Nyní se démon po zapnutí nespustí. V důsledku toho musíme naplánovat spuštění démona ručně. Toho můžeme dosáhnout zkopírováním /lib/systemd/system/nvidia-persistenced.service
, např.
sudo cp /lib/systemd/system/nvidia-persistenced.service /lib/systemd/system/nvidia-persistenced-manual.service
Nyní upravte /lib/systemd/system/nvidia-persistenced-manual.service
vypadat nějak takto:
[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
Chcete-li službu povolit, spusťte
sudo systemctl enable nvidia-persistenced-manual.service
a pokud je stará služba stále povolena, spusťte
sudo systemctl disable nvidia-persistenced.service
Tímto způsobem se démon spustí při startu systému. Neváhejte a upravte řádek ExecStart=/usr/bin/nvidia-persistenced
k např. zahrnout --verbose
nebo --user [...]
.
Mějte na paměti, že v mém výchozím nastavení běží démon s oprávněním root . Pokud to nechcete, ujistěte se, že spouštíte démona s --user
argument.
Celkově to není dokonalé řešení, ale dokázalo opravit chybu v mém systému.