Краткое содержание этой статьи: [nvidia-smi] Не удалось инициализировать NVML: решение проблемы несоответствия версий драйвера и библиотеки.
Сегодня я выполнил команду «nvidia-smi» в Linux с графическим процессором, чтобы проверить версию nvidia, но получил сообщение «Не удалось инициализировать NVML: несоответствие версии драйвера и библиотеки».
По этой причине даже если вы установите видеокарту и другое вспомогательное оборудование, мы не сможем использовать графический процессор. Далее я предоставлю вам два основных метода решения этой проблемы.
Давайте сначала проанализируем причину проблемы.
Введите команду:
dpkg -l | grep nvidia
Вы можете увидеть соответствующий номер версии драйвера NVIDIA:
Вы можете видеть, что я показываю 535.171.04, а затем введите команду, чтобы проверить версию ядра:
cat /proc/driver/nvidia/version
Версия ядра — 535.154.05, что не соответствует нашей предыдущей версии. В этом проблема.
Драйвер видеокарты Ubuntu автоматически обновляется, в результате чего обновленный драйвер не соответствует версии программы ядра, используемой системой. Итак, идея решения проблемы состоит в том, чтобы сделать версии согласованными.
Просто перезагрузите и перезапустите систему.,система автоматически будет следовать новому Ядро,Сделайте версию согласованной:reboot
Затем вы увидите соответствующую видеокарту.
Используйте команду, чтобы выйти из модуля видеокарты, используемого ядром, а затем перезагрузите обновленную версию драйвера видеокарты в качестве модуля ядра.
sudo rmmod nvidia
sudo nvidia-smi #nvidia-smi не нашел ядра При моддинге он будет автоматически загружен.
Однако этот метод может столкнуться с определенными проблемами:
$ sudo rmmod nvidia
rmmod: ERROR: Module nvidia is in use by: nvidia_modeset nvidia_uvm
Это показывает, что мы его используем, поэтому нам нужно вручную выйти из двух служб nvidia.
Проверьте использование модуля NVIDIA
$lsmod | grep nvidia
nvidia_uvm 94718 0
nvidia_drm 531248 0
nvidia_modeset 79588287 1 nvidia_drm
nvidia 121440 132 nvidia_modeset,nvidia_uvm 12899044640 132 nvidia_modeset,nvidia_uvm
Для этого нам необходимо вручную отключить службы nvidia_modset и nvidia_uvm.
Просмотреть все процессы, связанные с NVIDIA
sudo lsof -n -w /dev/nvidia*
Завершите процессы, связанные с nvidia_uvm и nvidia_modeset, с помощью kill -9 PID. Затем повторно выполните следующие инструкции:
sudo rmmod nvidia
sudo nvidia-smi #nvidia-smi не нашел ядра При моддинге он будет автоматически загружен.
Если это по-прежнему не работает, используйте команду для принудительного прекращения работы соответствующих служб:
sudo rmmod nvidia_uvm
sudo rmmod nvidia_drm
sudo rmmod nvidia_modeset
sudo rmmod nvidia
Затем выполните еще раз, и вы увидите видеокарту.
sudo rmmod nvidia
sudo nvidia-smi #nvidia-smi не нашел ядра При моддинге он будет автоматически загружен.