Saya menggunakan Ubuntu 17.10 dan memiliki kartu intel dan Nvidia GTX 1060 (yang terakhir biasanya dipilih), dengan versi driver 387.22 .
Saya perhatikan entri berikut di /var/log/syslog
. saya :
Nov 22 18:46:36 [machine name omitted] systemd[1]: Starting NVIDIA Persistence Daemon...
- [beberapa entri yang tidak terkait]
Nov 22 18:46:36 [...] systemd[1]: Started NVIDIA Persistence Daemon.
- [beberapa entri yang tidak terkait]
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.
Bagian yang aneh adalah bahwa entri tersebut (dan beberapa terkait yang mungkin saya hilangkan di sini) terjadi terus menerus , beberapa kali dan terkadang dalam stempel waktu yang sama.
Kedengarannya mencurigakan bagi saya – mengapa daemon terus-menerus dimulai dan dihentikan dengan cara ini dan bukankah itu akan berdampak buruk pada kinerja?
Saya bertanya karena saya masih tidak mengerti mengapa mesin saya berkinerja sangat buruk (terutama yang berkaitan dengan game) di 17.10, dibandingkan dengan 17.04 – lihat pertanyaan terkait.
Jelas desktop dan dependensi adalah tersangka utama di sini, bukan versi driver (seingat saya melihat hal yang sama persis dengan versi sebelumnya).
Pertanyaan
- Apakah hal di atas mencerminkan perilaku normal, dan jika tidak, bagaimana cara menyelidiki/memperbaikinya?
- Mungkinkah itu terkait dengan masalah kinerja saat menjalankan aplikasi yang menuntut, seperti game?
Sunting
Menariknya, jika saya masuk dengan desktop Unity lama, entri log ini sepertinya tidak muncul.
Kinerja juga tampak jauh lebih tajam dari perspektif desktop murni (walaupun itu mungkin imajinasi saya), tetapi kinerja gamenya sama saja.
Jawaban yang Diterima:
Meskipun ini adalah masalah lama, saya sendiri masih mengalaminya di Kubuntu 18.04 dan nvidia driver 390 . Yaitu, daemon nvidia-persistence mengirim spam ke layar saat boot (terkadang, tidak selalu). Jadi, solusi saya menghindari startup daemon nvidia standar pada boot sistem dengan menggunakan layanan systemd terpisah .
Seperti yang dinyatakan sebelumnya, tampaknya ada kesalahan konfigurasi saat memulai daemon nvidia-persistence. Lebih tepatnya, aturan udev tampaknya menjadi masalah bagi saya. Jadi, saya memodifikasi /lib/udev/rules.d/71-nvidia.rules
dan mengomentari tindakan di bawah power-off dan power-on. Seperti yang disebutkan dalam jawaban lain, Anda juga dapat mengomentari baris untuk memuat dan membongkar.
Sekarang daemon tidak mulai saat dihidupkan. Akibatnya, kita harus menjadwalkan awal daemon secara manual. Kita dapat mencapainya dengan menyalin /lib/systemd/system/nvidia-persistenced.service
, misalnya
sudo cp /lib/systemd/system/nvidia-persistenced.service /lib/systemd/system/nvidia-persistenced-manual.service
Sekarang ubah /lib/systemd/system/nvidia-persistenced-manual.service
agar terlihat seperti ini:
[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
Untuk mengaktifkan layanan, jalankan
sudo systemctl enable nvidia-persistenced-manual.service
dan jika layanan lama masih diaktifkan, jalankan
sudo systemctl disable nvidia-persistenced.service
Dengan cara ini, daemon akan mulai saat startup sistem. Jangan ragu untuk mengubah baris ExecStart=/usr/bin/nvidia-persistenced
untuk misalnya sertakan --verbose
atau --user [...]
.
Perlu diingat, bahwa dengan cara default saya, daemon berjalan dengan izin root . Jika Anda tidak menginginkan ini, pastikan untuk menjalankan daemon dengan --user
argumen.
Secara keseluruhan, ini bukan solusi yang sempurna, tetapi dapat memperbaiki bug di sistem saya.