最近在使用之前搭建好Tensorflow-GPU环境的服务器时,突然发现GPU无法使用了。用命令nvidia-smi
查一下发现显卡驱动不见了,于是开始着手安装显卡。但是之前没有在服务器上安装显卡的经验,上网搜了一下发现也没有比较完整的教程,于是通过查找资料加上自己的摸索,花费了大半天时间终于把显卡驱动安装好了。这里记录一下,也便于以后自己重新安装的时候使用。
安装环境
CentOS 7.5 + Nvidia Tesla K80
显卡驱动版本
nvidia-410.66
安装步骤
注意:以下步骤全部是在root环境下操作,所以要先使用
sudo su
进入root环境
1. 添加EIRepo源
rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm
# 这里的-7.0.2-是中的7是指CentOS的版本
2. 安装显卡驱动检查包
yum install nvidia-detect
3. 检测显卡驱动版本
nvidia-detect -v
这里要注意输出的信息中的数字,比如我的输出是This device requires the current 410.66 NVIDIA driver kmod-nvidia
,表示我需要安装的显卡驱动版本是410.66
4. 安装一些依赖包
yum -y install kernel-devel
yum -y install epel-release
yum -y install dkms
PS:我也不知道这些包是干什么的,也不知道有没有用,但是装了肯定没问题
5. 编辑grub文件
vim /etc/default/grub
在GRUB_CMDLINE_LINUX
中的末尾(注意要包含在引号内)添加/rd.driver.blacklist=nouveau nouveau.modeset=0
随后生成配置
grub2-mkconfig -o /boot/grub2/grub.cfg
6. 创建blacklist
vim /etc/modprobe.d/blacklist.conf
添加
blacklist nouveau
7. 更新配置并重启
mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r)-nouveau.img
dracut /boot/initramfs-$(uname -r).img $(uname -r)
重启
reboot
8. 重启后确认禁用了nouveau
lsmod | grep nouveau
如果没有输出则表明禁用成功
9. 安装对应版本的驱动程序
yum -y install kmod-nvidia-410.66
这里末尾的数字是自己显卡对应的版本号,根据nvidia-detect -v
检测得到的结果输入
重启后使用命令nvidia-smi
检测显卡是否安装成功。
本文的大部分内容来源于该链接,但根据实际情况以及其他人的经验做了一些简单修改。