查看本机gpu版本型号(根据型号去官网下载指定版本的最新驱动即可):
/usr/sbin/lspci | grep -i nvidia
不管是玩游戏还是用于并行计算,显卡驱动一定要使用最新的。通常新版本的显卡驱动应该能支持当前最高支持CUDA版本以下的所有版本,所有要关注显卡驱动能支持的最高CUDA版本(显卡驱动不管时新显卡还是旧显卡均可升级)。
查看安装的gpu驱动版本:
cat /proc/driver/nvidia/version
驱动下载:
https://www.nvidia.cn/Download/index.aspx?lang=cn
选择对应型号的下载即可,sh NVIDIA-Linux-x86_64-450.57.run
安装驱动报错:X 界面开启,请关闭后重试。解决:ps -aux|grep X kill掉即可。
1. 下载驱动
从NVIDIA官网 https://www.geforce.cn/drivers 选择相应的驱动并下载,下载下来是.run文件。
2. 安装依赖
要装的三个依赖分别是,gcc、kernel-devel、dkms,其中需要注意的是,kernel-devel的版本需要与当前内核的版本一致,不然后面会出现找不到文件的情况。
查看我的内核版本:
[root@host8 ~]# uname -r
3.10.0-693.el7.x86_64
查看一下可以安装的版本:
[root@host8 ~]# yum list | grep kernel-devel
kernel-devel.x86_64 3.10.0-693.el7 @c7-media
kernel-devel.x86_64 3.10.0-957.27.2.el7 updates
安装rpm包后,继续安装其他依赖:
yum -y install gcc dkms
3. 阻止 nouveau 模块的加载
在配置文件中禁用nouveau
CentOS 7:
vim /lib/modprobe.d/dist-blacklist.conf
并且在加上
blacklist nouveau
options nouveau modeset=0
4. 重新建立initramfs image文件
备份原来的 initramfs nouveau image镜像
mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r)-nouveau.img
dracut /boot/initramfs-$(uname -r).img $(uname -r)
做完这个步骤 重启reboot, 重启后验证驱动是否被禁用 如果无结果显示则表明成功禁用
lsmod | grep nouveau
5. 执行安装脚本
执行之前先让.run文件有可执行权限:
chmod u+x NVIDIA-Linux-x86_64-450.57.run
执行安装脚本:
Sh NVIDIA-Linux-x86_64-450.57.run
安装过程有一些选项,基本上有默认的选默认的,有些查一下看看意思选,里面有四个选择需要去做
(1)he distribution-provided pre-install script failed!Are you sure you want to continue?
不用管,继续
(2)Would you like to register the kernel module sources with DKMS?This will allow DKMS to auomatically build a new module,if you install a different kernel later
选择“no”
(3)Install Nvidia’s 32-bit compatibility libraries? 选择 No 继续
(4)Would you like to run the nvidia-xconfig utility to automatically update your X configuration file so that the NVIDIA X driver will be user whten you rest…”什么的,选择 No。
6. 升级/重装 NVIDIA 驱动
./NVIDIA-Linux-x86_64-450.57.run --uninstall
7、查看安装的驱动版本和对应的cuda版本:
Nvidia-smi
-q/-a是查询所有gpu详细信息
-f输出到指定文件
-l 5 动态刷新信息 秒为单位默认5s刷一次。
nvidia-smi -q -f /a.txt -l 5 #没5秒输出到文件一次(追加) 注意:关闭会话后nvidia-smi失效
--query-gpu=gpu_name 选择性查询选项,可以指定显示的属性选项
nvidia-smi --help-query-gpu 查看帮助信息都有那些选项可选
定时输出gpu信息到服务器指定文件中:
nohup nvidia-smi --query-gpu=timestamp,memory.total,memory.free,memory.used,name,uuid,utilization.gpu,utilization.memory --format=csv -l 1800 -f /gpuMonitor.txt &
#nohup & 后台运行nvidia-smi命令,但是因为nvidia-smi的特性,关闭shell后后台任务也会停止。 Nohup bash xxx.sh &等不受影响。