私はUbuntu 17.10にいて、ドライバーバージョン387.22でIntelとNvidia GTX 1060カード(後者が通常選択されています)の両方を持っています。
/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.04と比較して17.10でマシンのパフォーマンスが(特にゲームに関して)あまり良くない理由について、私はまだ無知であるため、私は尋ねています-関連する question を参照してください。
明らかに、デスクトップと依存関係は、ここでは主な疑いのあるものであり、ドライバーのバージョンではありません(以前のバージョンでもまったく同じだったことを思い出します)。
質問
編集
興味深いことに、古いUnityデスクトップでログオンすると、これらのログエントリは発生しないようです。パフォーマンスは、純粋なデスクトップの観点から見ると非常に簡単に見えますが(私の想像ではありますが)、ゲームのパフォーマンスはまったく同じです。
これは古い問題ですが、私はまだKubuntu 18.04およびnvidiaドライバー39で問題に遭遇しています。つまり、nvidia-persistenceデーモンは、起動中に画面をスパムします(常にではありません)。したがって、私のソリューションでは、separate systemd serviceを使用して、システム起動時の標準のnvidiaデーモンの起動を回避します。
前に述べたように、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
を自由に変更してください。 --verbose
または--user [...]
を含めます。
私のデフォルトの方法では、デーモンはroot permissionsで実行されていることに注意してください。これが必要ない場合は、--user
引数を使用してデーモンを実行してください。
全体として、これは完璧な解決策ではありませんが、私のシステムのバグを修正することができました。
エントリは、Nvidiaパッケージの不要な構成ファイルが原因です。
Void75のおかげで、forums.linuxmint.com