Я нахожусь на 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 - посмотрите связанный вопрос.
Очевидно, рабочий стол и зависимости являются главными подозреваемыми здесь, не так версией драйвера (как я вспоминаю наблюдение того же самого с предыдущей версией).
Вопросы
Править
Интересно, если я вхожу в систему со старым рабочим столом Единицы, эти записи в журнале, кажется, не происходят. Производительность также кажется намного более мгновенной с чистой настольной точки зрения (хотя это могло бы быть мое воображение), но играющая производительность является вполне тем же.
Записи вызваны ненужным файлом конфигурации из пакета Nvidia:
Благодаря void75, forums.linuxmint.com
Хотя это старая проблема, я все еще сталкивался с ней на 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
.
В целом, это не идеальное решение, но оно смогло исправить ошибку в моей системе.