NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver の対処
このエラーは、NVIDIAドライバがOSのカーネルと通信できていない状態です。ドライバが入っていない、カーネルの自動更新でドライバモジュールとの整合が壊れた、モジュールがロードされていない、のどれかがほとんどで、ドライバの再インストール(またはDKMSの再構築)で解決します。
NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver.Make sure that the latest NVIDIA driver is installed and running.原因
nvidia-smiはカーネル内のNVIDIAドライバモジュールに問い合わせて情報を表示します。昨日まで動いていたのに突然出た場合は、Ubuntuの自動更新でカーネルだけが新しくなり、旧カーネル用にビルドされたドライバモジュールが読み込めなくなったパターンが最多です。
対処
- まず状態を確認します。モジュールがロードされているか、ドライバパッケージが入っているかを見ます。
lsmod | grep nvidiadpkg -l | grep nvidia-driver- カーネル更新が原因のことが多いので、まず再起動を試します。DKMSが構成されていれば、再起動時に新カーネル向けへ再ビルドされます。
sudo reboot- 直らなければ、ドライバを入れ直します。Ubuntuなら推奨ドライバの自動選択が楽です。
sudo ubuntu-drivers autoinstallsudo reboot-
Secure Bootが有効なマシンでは、署名されていないモジュールが拒否されることがあります。BIOSでSecure Bootを無効にするか、MOK登録の案内に従ってください。
-
復旧後は nvidia-smi でGPUが見えることを確認します。
nvidia-smiまとめ
・原因はドライバとカーネルの不整合(自動更新後が最多)・未導入・未ロード ・まず再起動。DKMSがあれば新カーネル向けに再ビルドされる ・直らなければ ubuntu-drivers autoinstall で入れ直す ・Secure Boot有効時はモジュール署名の問題も疑う