web-dev-qa-db-ja.com

syslogで継続的に起動および停止するNVIDIA永続性デーモン

私は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デスクトップでログオンすると、これらのログエントリは発生しないようです。パフォーマンスは、純粋なデスクトップの観点から見ると非常に簡単に見えますが(私の想像ではありますが)、ゲームのパフォーマンスはまったく同じです。

3
Mena

これは古い問題ですが、私はまだ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引数を使用してデーモンを実行してください。

全体として、これは完璧な解決策ではありませんが、私のシステムのバグを修正することができました。

3
André

エントリは、Nvidiaパッケージの不要な構成ファイルが原因です。

  • シェルからコマンドnvidia-smiを実行すると、左上の「Persistence-M On」のどこかに表示されるはずです。
  • Nvidiaドライバーが「Persistence-M」なしで正常に動作するかどうかをテストできます。
  • / lib/systemd/system /に移動します。ここに、nvidia-persistenced.serviceというファイルがあります。名前を変更または移動します。
  • /lib/udev/rules.d/に移動します
  • 設定ファイル71-nvidia.rulesをルートとして開きます
  • #電源オンおよび電源オフとロードおよびアンロード中のアクションをコメントアウトします。
  • 再起動して確認します。

Void75のおかげで、forums.linuxmint.com

1
HDK Bouma