Daemon de persistência NVIDIA iniciando e parando continuamente no syslog

Daemon de persistência NVIDIA iniciando e parando continuamente no syslog

Estou no Ubuntu 17.10 e tenho uma placa Intel e Nvidia GTX 1060 (esta última geralmente selecionada), com versão de driver387,22.

Notei as seguintes entradas no meu /var/log/syslog:

  • Nov 22 18:46:36 [machine name omitted] systemd[1]: Starting NVIDIA Persistence Daemon...
  • [algumas entradas não relacionadas]
  • Nov 22 18:46:36 [...] systemd[1]: Started NVIDIA Persistence Daemon.
  • [algumas entradas não relacionadas]
  • 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.

A parte estranha é que essas entradas (e algumas relacionadas que posso estar omitindo aqui) estão ocorrendocontinuamente, várias vezes e às vezes dentro do mesmo carimbo de data/hora.

Isso me parece suspeito - por que o daemon é continuamente iniciado e interrompido dessa maneira e isso não teria um impacto severo no desempenho?

Estou perguntando porque ainda não tenho ideia do motivo pelo qual minha máquina tem um desempenho tão ruim (especialmente em relação a jogos) em 17.10, em comparação com 17.04 - veja relacionadopergunta.

Obviamente, a área de trabalho e as dependências são os principais suspeitos aqui, não tanto a versão do driver (pelo que me lembro de ter visto exatamente o mesmo em uma versão anterior).

Questões

  • O que foi dito acima reflete um comportamento normal e, se não, como investigar/corrigir?
  • Isso poderia estar relacionado a problemas de desempenho ao executar aplicativos exigentes, como jogos?

Editar

Curiosamente, se eu fizer logon na área de trabalho antiga do Unity, essas entradas de log parecem não ocorrer. O desempenho também parece muito mais rápido do ponto de vista puro do desktop (embora possa ser minha imaginação), mas o desempenho do jogo é praticamente o mesmo.

Responder1

Embora este seja um problema antigo, eu ainda o encontrei emKubuntu 18.04edriver nvidia 390. Ou seja, o daemon nvidia-persistence envia spam para a tela durante a inicialização (às vezes, nem sempre). Assim, minha solução contorna a inicialização padrão do daemon da nvidia na inicialização do sistema usando umserviço systemd separado.

Como afirmado antes, parece ser uma configuração incorreta ao iniciar o daemon nvidia-persistence. Mais precisamente, as regras do udev parecem ser o problema para mim. Assim, modifiquei /lib/udev/rules.d/71-nvidia.rulese comentei as ações ao desligar e ligar. Como mencionado em outras respostas, você também pode comentar as linhas de carga e descarga.

Agora o daemon não inicia ao ligar. Conseqüentemente, temos que agendar o início do daemon manualmente. Podemos conseguir isso copiando /lib/systemd/system/nvidia-persistenced.service, por exemplo

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

Agora modifique /lib/systemd/system/nvidia-persistenced-manual.servicepara ficar parecido com isto:

[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

Para habilitar o serviço, execute

sudo systemctl enable nvidia-persistenced-manual.service

e se o serviço antigo ainda estiver habilitado, execute

sudo systemctl disable nvidia-persistenced.service

Dessa forma, o daemon será iniciado na inicialização do sistema. Sinta-se à vontade para modificar a linha ExecStart=/usr/bin/nvidia-persistencedpara, por exemplo, incluir --verboseou --user [...].

Tenha em mente que, no meu modo padrão, o daemon está rodando compermissões de root. Se você não quiser isso, certifique-se de executar o daemon com o --userargumento.

Ao todo, esta não é uma solução perfeita, mas foi capaz de corrigir o bug no meu sistema.

Responder2

As entradas são causadas por um arquivo de configuração desnecessário do pacote Nvidia:

  • Execute o comando nvidia-smi do shell, você deve ver em algum lugar no canto superior esquerdo "Persistence-M On".
  • Você pode testar se os drivers da Nvidia funcionam bem sem "Persistence-M".
  • Vá para /lib/systemd/system/ . Aqui você encontrará um arquivo chamado nvidia-persistenced.service. Renomeie ou mova.
  • Vá para /lib/udev/rules.d/
  • Abra como root o arquivo de configuração 71-nvidia.rules
  • Comente # as ações ao ligar e desligar e ao carregar e descarregar.
  • Reinicie e verifique.

Obrigado a void75, forums.linuxmint.com

informação relacionada