El demonio de persistencia de NVIDIA se inicia y detiene continuamente en syslog

El demonio de persistencia de NVIDIA se inicia y detiene continuamente en syslog

Estoy en Ubuntu 17.10 y tengo una tarjeta Intel y Nvidia GTX 1060 (esta última generalmente seleccionada), con versión del controlador.387,22.

He notado las siguientes entradas en mi /var/log/syslog:

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

Lo extraño es que esas entradas (y algunas relacionadas que podría omitir aquí) están ocurriendocontinuamente, varias veces y, a veces, dentro de la misma marca de tiempo.

Eso me suena sospechoso: ¿por qué el demonio se inicia y detiene continuamente de esta manera y eso no afectaría gravemente el rendimiento?

Lo pregunto porque todavía no tengo ni idea de por qué mi máquina funciona tan mal (especialmente en lo que respecta a los juegos) en 17.10, en comparación con 17.04 - ver relacionadopregunta.

Obviamente, el escritorio y las dependencias son los principales sospechosos aquí, no tanto la versión del controlador (como recuerdo haber visto exactamente lo mismo con una versión anterior).

Preguntas

  • ¿Lo anterior refleja un comportamiento normal? Si no, ¿cómo investigarlo o solucionarlo?
  • ¿Podría esto estar relacionado con problemas de rendimiento al ejecutar aplicaciones exigentes, como juegos?

Editar

Curiosamente, si inicio sesión con el antiguo escritorio de Unity, estas entradas de registro no parecen ocurrir. El rendimiento también parece mucho más ágil desde una perspectiva puramente de escritorio (aunque podría ser mi imaginación), pero el rendimiento en juegos es bastante similar.

Respuesta1

Aunque este es un problema antiguo, todavía lo he encontrado enUbuntu 18.04ycontrolador nvidia 390. Es decir, el demonio de persistencia de nvidia envía spam a la pantalla durante el arranque (a veces, no siempre). Por lo tanto, mi solución evita el inicio estándar del demonio nvidia al iniciar el sistema mediante el uso de unservicio de sistema separado.

Como se indicó antes, parece ser una mala configuración al iniciar el demonio de persistencia de nvidia. Más precisamente, las reglas de udev parecen ser el problema para mí. Por lo tanto, modifiqué /lib/udev/rules.d/71-nvidia.rulesy comenté las acciones de apagado y encendido. Como se mencionó en otras respuestas, también puede comentar las líneas de carga y descarga.

Ahora el demonio no se inicia al encender. En consecuencia, tenemos que programar el inicio del demonio manualmente. Podemos lograrlo copiando /lib/systemd/system/nvidia-persistenced.service, por ejemplo

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

Ahora modifique /lib/systemd/system/nvidia-persistenced-manual.servicepara que se vea algo como esto:

[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 el servicio, ejecute

sudo systemctl enable nvidia-persistenced-manual.service

y si el servicio anterior todavía está habilitado, ejecute

sudo systemctl disable nvidia-persistenced.service

De esta manera, el demonio se iniciará al iniciar el sistema. Siéntase libre de modificar la línea ExecStart=/usr/bin/nvidia-persistencedpara, por ejemplo, incluir --verboseo --user [...].

Tenga en cuenta que, en mi forma predeterminada, el demonio se ejecuta conpermisos de raíz. Si no desea esto, asegúrese de ejecutar el demonio con el --userargumento.

En general, esta no es una solución perfecta, pero pudo corregir el error en mi sistema.

Respuesta2

Las entradas son causadas por un archivo de configuración innecesario del paquete Nvidia:

  • Ejecute el comando nvidia-smi desde el shell, debe ver en algún lugar de la parte superior izquierda "Persistence-M On".
  • Puedes probar si tus controladores Nvidia funcionan bien sin "Persistence-M".
  • Vaya a /lib/systemd/system/. Aquí encontrará un archivo llamado nvidia-persistenced.service. Cambiar el nombre o mover.
  • Vaya a /lib/udev/rules.d/
  • Abra como root el archivo de configuración 71-nvidia.rules
  • Comente # las acciones bajo encendido y apagado y carga y descarga.
  • Reinicie y verifique.

Gracias a void75, foros.linuxmint.com

información relacionada