1. 问题背景
由于项目中算法、获取计算机CPU与GPU性能都需要用到显卡(实际上就是NVIDIA命令),所以需要安装显卡驱动,解决过程如下:
2. 解决过程(仅供参考)
nvidia-smi
查看显卡性能,没有驱动,报错如下:
NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver.
Make sure that the latest NVIDIA driver is installed and running.
2.1 检查驱动和cuda
解决过程:
使用命令安装nvidia-cuda-toolkit,以便能够检查驱动和cuda
sudo apt install nvidia-cuda-toolkit
安装完成后,使用如下命令:
nvcc -V
查看结果如下:
2.2 安装驱动
首先查看与自己电脑显卡相配的驱动版本:
ubuntu-drivers devices
结果如下:
从这里面随便选一个安装就好,这里建议使用470版
查看已安装驱动的版本信息
ls /usr/src | grep nvidia
这个命令要求/usr/src 下存在显卡驱动安装包
以nvidia开头的文件
我这里一开始是没有这个安装包的,解决办法:
1、自己去官网下载,官网地址:https://www.nvidia.cn/geforce/drivers/
2、Ubuntu系统找到软件和更新
应用更改后会下载,下载完成后需要重启电脑,否则即使/usr.src下已经存在安装包,使用ls /usr/src | grep nvidia命令仍然找不到
重启以后,使用ls /usr/src | grep nvidia命令,会有如下效果:
安装dks:
sudo apt-get install dkms
安装驱动:
sudo dkms install -m nvidia-srv -v 470.199.02
我这里安装的是470服务器版,所以有-srv,如果客户端就不用,-v后面是版本号,要求要与/usr/src下安装包一致,否则会报错没有安装包
如果报安装包下没有dkms.conf文件,
查看dkms状态:
没反应,重新安装
最后,安装包下没有dkms.conf文件原因:
/usr/src下存在残留的内核文件
解决办法:
查看系统当前内核文件:
uname -r
删除多余的内核文件:
ls /usr/src
可以看出我的多了linux-headers-5.19.0-46-generic文件
开始卸载:
sudo apt-get purge linux-headers-5.19.0-46-generic linux-headers-generic
sudo apt-get purge linux-headers-5.19.0-46
卸载完后,再安装:
sudo dkms install -m nvidia-srv -v 470.199.02
还是不行,可是用nvidia-smi就可以了,之前应该就是残留内核文件的原因
参考文章:
整体流程:https://blog.csdn.net/m0_46825740/article/details/128580183
NVIDIA命令:https://blog.csdn.net/qq_25562325/article/details/120369929
卸载已安装参考:https://blog.csdn.net/baidu_35280192/article/details/130393108
错误解决参考:https://blog.csdn.net/ksws0292756/article/details/79160742
主要问题解决参考:http://www.rply.cn/news/100759.html