一、问题

使用指令nvidia-smi的时候会出现“command ‘nvidia-smi’ not found”的错误,这里是因为以下原因:

# 1. 没有安装nvidia驱动
# 2. 安装了驱动,但是由于升级了内核不能使用了,一般会和nvcc -V的指令冲突
二、解决
2.1 卸载所有驱动

卸载nvidia的驱动,如果是因为第二个原因,否则跳过。

sudo apt-get --purge remove nvidia*
2.2 查询版本

使用下面的指令安装nvidia驱动。

# 查询可以安装的驱动,带recommend的是推荐驱动
sudo ubuntu-drivers devices
# 安装推荐驱动
# 1.选择版本号(如nvidia-340)
sudo apt install nvidia-340
2.3 安装显卡驱动

在这个官网查找自己的驱动NVIDIA官方驱动,使用以下指令查询自己的显卡型号。

lspci | grep VGA
2.4 禁用nouveau

编辑 /etc/modprobe.d/blacklist-nouveau.conf 文件,添加以下内容,注意需要管理员权限

# 指令
sudo vi /etc/modprobe.d/blacklist-nouveau.conf
# 添加的内容
blacklist nouveau
blacklist lbm-nouveau
options nouveau modeset=0
alias nouveau off
alias lbm-nouveau off
# 使用wq!保存并退出

输入以下的指令关闭nouveau

echo options nouveau modeset=0 | sudo tee -a /etc/modprobe.d/nouveau-kms.conf

最后使用下面的指令重启服务器

sudo update-initramfs -u
sudo reboot
2.5 获取kernel source

使用下面的指令获取并安装kernel source

# 安装过的,就不会在安装
$ sudo apt-get install linux-source
$ # apt-get install linux-headers-x.x.x-genneric
$ sudo apt-get install linux-headers-$(uname -r)
2.6 安装nvidia驱动

使用下面的指令安装

# 解析刚刚下载的文件
chmod +x NVIDIA-Linux-x86_64-xxx.xx.run
# 安装,然后会有一些提问,按自己的需求选择yes或者no就可以了
sudo ./NVIDIA-Linux-x86_64-xxx.xx.run
# 挂载nvidia驱动
modprobe nvidia

安装完成之后使用下面的指令检查一下

nvidia-smi
2.7 安装cuda-toolkit

使用下面的指令安装cuda-toolkit

# 使用这个安装cuda驱动
apt install nvidia-cuda-toolkit
# 检测驱动版本
nvcc -V
三、参考

主要参考了一下CSDN的博客
graphic系统关闭不了时可以参考这篇文章
当重启后nvidia消失可以参考这个博客

posted on 2023-02-24 13:43  蔚蓝色の天空  阅读(4236)  评论(1编辑  收藏  举报