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.rules
e 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.service
para 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-persistenced
para, por exemplo, incluir --verbose
ou --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 --user
argumento.
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