1. ホーム
  2. リナックス

nvidia-smi:command not found 問題解決,NVML の初期化に失敗しました。ドライバ/ライブラリのバージョンの不一致

2022-02-22 10:11:33
<パス

ドライバをインストールした後。nvidia-smiが動作しなくなったことがわかりました。そこで、ネットで解決策を見つけました。
要するに、2つのステップ

1. nvidia kernel modをアンロードする。
2.reload nvidia kernel mod
実行は
1. sudo rmmod nvidia
2.sudo nvidia-smi

nvidia-smi はカーネルの改造がない場合、自動的にロードされます。

しかし、物事は単純ではなく、通常、アンインストールに失敗することがあります。

$ sudo rmmod nvidia
rmmod ERROR: モジュール nvidia is in use by: nvidia_modeset nvidia_uvm
1
2
$ sudo rmmod nvidia
rmmod ERROR: モジュール nvidia is in use by: nvidia_modeset nvidia_uvm
この時点で、ドライバ全体を少しずつアンインストールする時が来ました。まず、今のカーネルMODの依存関係を知るために、エラーメッセージからnvidia_modeset nvidia_uvm これら二つのMODはnvidiaに依存していることがわかりました。

$lsmod | grep nvidia
nvidia_uvm 647168 0
nvidia_drm 53248 0
nvidia_modeset 790528 1 nvidia_drm
nvidia 12144640 152 nvidia_modeset,nvidia_uvm 12144640 152 nvidia_modeset,nvidia_uvm

$lsmod | grep nvidia
nvidia_uvm 647168 0
nvidia_drm 53248 0
nvidia_modeset 790528 1 nvidia_drm
nvidia 12144640 152 nvidia_modeset,nvidia_uvm 12144640 152 nvidia_modeset,nvidia_uvm


sudo rmmod nvidia_uvm
sudo rmmod nvidia_modeset


nvidiaは152の単語で使われていることがわかるように、まずnvidia_uvmとnvidia_modesetをアンインストールします。

まず、どのプロセスがnvidia*を使用しているかを見てみましょう。

1
sudo lsof -n -w /dev/nvidia*.
これらのプロセスを把握し、後でアンインストールに失敗した場合は、関連するプロセスを閉じることを忘れないようにしてください。

アンインストール

sudo rmmod nvidia
nvidia-smi


また、nvidiaが使用する場合はlsofを使用します。 が 0 になっていない場合は、当該プロセスを強制終了してください。

最後に

sudo rmmod nvidia
nvidia-smi


終了

https://comzyh.com/blog/archives/967/