Демон персистентности NVIDIA, непрерывно запускающийся и останавливающийся в системном журнале

Я нахожусь на Ubuntu 17.10 и имею и Intel и карту Nvidia GTX 1060 (последний, обычно выбираемый) с версией драйвера 387.22.

Я заметил следующие записи в моем /var/log/syslog:

  • Nov 22 18:46:36 [machine name omitted] systemd[1]: Starting NVIDIA Persistence Daemon...
  • [некоторые несвязанные записи]
  • Nov 22 18:46:36 [...] systemd[1]: Started NVIDIA Persistence Daemon.
  • [некоторые несвязанные записи]
  • 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.

Странная часть - то, что те записи (и некоторые имели отношение, я мог бы опускать здесь), происходят непрерывно, многократно и иногда в той же метке времени.

Это звучит подозрительным мне - почему демон непрерывно запускается и остановил этот путь, и это сильно не повлияет на производительность?

Я спрашиваю, потому что я все еще невежествен согласно тому, почему моя машина работает, таким образом, плохо (особенно относительно игр) в 17,10, по сравнению с 17,04 - посмотрите связанный вопрос.

Очевидно, рабочий стол и зависимости являются главными подозреваемыми здесь, не так версией драйвера (как я вспоминаю наблюдение того же самого с предыдущей версией).

Вопросы

  • Вышеупомянутое отражение нормального поведения, и в противном случае как исследовать/устранить его?
  • Это могло коснуться проблем производительности при запуске требовательных приложений, таких как игры?

Править

Интересно, если я вхожу в систему со старым рабочим столом Единицы, эти записи в журнале, кажется, не происходят. Производительность также кажется намного более мгновенной с чистой настольной точки зрения (хотя это могло бы быть мое воображение), но играющая производительность является вполне тем же.

3
задан 22 November 2017 в 23:45

2 ответа

Записи вызваны ненужным файлом конфигурации из пакета Nvidia:

  • Запустите команду nvidia-smi из оболочки, вы должны увидеть где-то слева вверху «Persistence-M On» .
  • Вы можете проверить, нормально ли работают ваши драйверы Nvidia без «Persistence-M».
  • Перейдите в / lib / systemd / system /. Здесь вы найдете файл с именем nvidia-persistenced.service. Переименуйте или переместите.
  • Перейдите на /lib/udev/rules.d/
  • Откройте в качестве root конфигурационный файл 71-nvidia.rules
  • Закомментируйте # действия при включении, выключении и загрузке и разгрузка.
  • Перезагрузите и проверьте.

Благодаря void75, forums.linuxmint.com

1
ответ дан 22 November 2017 в 23:45

Хотя это старая проблема, я все еще сталкивался с ней на Kubuntu 18.04 и nvidia driver 390 . А именно, демон nvidia-persistence отображает экран во время загрузки (иногда не всегда). Таким образом, мое решение обходит стандартный запуск демона nvidia при загрузке системы с помощью отдельной службы systemd .

Как уже говорилось ранее, похоже, неверная конфигурация запуска демона nvidia-persistence. Точнее, проблемы с удевом кажутся мне проблемой. Таким образом, я изменил /lib/udev/rules.d/71-nvidia.rules и прокомментировал действия при выключении и включении питания. Как упоминалось в других ответах, вы также можете закомментировать строки для загрузки и выгрузки.

Теперь демон не запускается при включении. Следовательно, мы должны запланировать запуск демона вручную. Этого можно добиться, скопировав /lib/systemd/system/nvidia-persistenced.service, например,

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

Теперь измените /lib/systemd/system/nvidia-persistenced-manual.service, чтобы он выглядел примерно так:

[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

Чтобы включить службу, выполните

sudo systemctl enable nvidia-persistenced-manual.service

и, если старая служба все еще включен, запустите

sudo systemctl disable nvidia-persistenced.service

Таким образом, демон запустится при запуске системы. Не стесняйтесь изменить линию ExecStart=/usr/bin/nvidia-persistenced, например включают --verbose или --user [...].

Имейте в виду, что по умолчанию, демон работает с корневыми разрешениями . Если вы не хотите этого, обязательно запустите демон с аргументом --user.

В целом, это не идеальное решение, но оно смогло исправить ошибку в моей системе.

2
ответ дан 22 November 2017 в 23:45

Другие вопросы по тегам:

Похожие вопросы: