Я использую 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 - см. соответствующую информациювопрос.
Очевидно, что главными подозреваемыми здесь являются рабочий стол и зависимости, а не столько версия драйвера (насколько я помню, то же самое было и с предыдущей версией).
Вопросы
- Является ли вышеизложенное нормальным поведением, и если нет, как это исследовать/исправить?
- Может ли это быть связано с проблемами производительности при запуске ресурсоемких приложений, таких как игры?
Редактировать
Интересно, что если я вхожу в систему со старого рабочего стола Unity, эти записи в журнале, похоже, не появляются. Производительность также кажется намного более быстрой с точки зрения чистого рабочего стола (хотя это может быть мое воображение), но игровая производительность практически такая же.
решение1
Хотя это старая проблема, я сам с ней сталкивалсяКубунту 18.04идрайвер nvidia 390. А именно, демон nvidia-persistence спамит экран во время загрузки (иногда, не всегда). Таким образом, мое решение обходит стандартный запуск демона nvidia при загрузке системы, используяотдельная служба systemd.
Как уже говорилось ранее, похоже, что это неправильная настройка запуска демона nvidia-persistence. Точнее, для меня проблема в правилах udev. Таким образом, я изменил /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
например, include --verbose
или --user [...]
.
Имейте в виду, что по умолчанию демон работает справа root. Если вы этого не хотите, обязательно запустите демон с --user
аргументом.
В целом это не идеальное решение, но оно помогло исправить ошибку в моей системе.
решение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