很多朋友第一次在云上买GPU云服务器,就是为了跑个深度学习或者大模型,结果一上来就卡在第一步:
nvidia-smi 直接报 No devices were found 或者干脆 command not found,完全不知道是机器问题还是自己操作问题。
这篇文章就围绕一个真实场景来讲:你已经在腾讯云上开好了一台GPU云服务器,准备用来跑AI项目,但 nvidia-smi 就是找不到显卡。我会一步步带你排查,并顺带说清楚在创建这台机器时,怎样选配置、选镜像,能尽量避免这类问题。
如果你还没买机器,只是先查“GPU云服务器 nvidia-smi 找不到显卡是怎么回事”,可以先把下面这台机器当成目标,照着选好规格和镜像,后面会省很多事。你可以点这个链接去腾讯云GPU云服务器页面看看具体有哪些规格:腾讯云GPU云服务器。
先搞清楚:你这台GPU云服务器到底有没有显卡
很多新手一看到 nvidia-smi 报错,第一反应是“显卡坏了”,其实大部分情况只是系统层面没识别到,或者压根没装驱动。
在动手改配置前,建议先用下面几步,确认一下云后台到底给你配了没有GPU。
-
去控制台看实例规格:登录腾讯云控制台,找到你这台GPU云服务器,点进实例详情,看“实例规格”那一栏,是不是带“GPU”、“T4”、“A10”这类字样。如果只写了“标准型S5”、“计算型C6”,那大概率是拿成了普通CPU机器。
-
用
lspci命令看硬件:登录到机器里(Linux系统),执行:
lspci | grep -i nvidia
如果这里能看到类似 “3D controller: NVIDIA Corporation TU104GL [Tesla T4]” 的输出,说明硬件是有的,只是驱动没装好。如果啥也看不到,就要怀疑是不是规格选错了。 -
看系统里有没有nvidia模块:执行:
lsmod | grep nvidia
如果啥输出也没有,说明内核里根本没加载nvidia驱动,这也是nvidia-smi会失败的常见原因。
简单总结一下:
lspci能看到NVIDIA设备,但nvidia-smi看不到 → 驱动问题。lspci也看不到NVIDIA设备 → 规格或镜像问题。
如果你发现是规格选错了,也不用重买,可以先关机,在控制台把实例规格改成带GPU的,比如T4、A10这些,再开机继续后面的步骤。
场景一:lspci能看到显卡,nvidia-smi报错
这种情况最常见,说明硬件在,但驱动没装好,或者装了但没加载成功。不同云厂商的GPU云服务器,默认驱动状态不太一样,有的会预装,有的需要自己装。
以腾讯云的GPU云服务器为例,如果你是在活动页购买的Linux机器,有时候会提供“GPU环境自动安装”的选项,创建后系统会自动装好GPU驱动、CUDA、cuDNN,大概需要十几分钟。但如果你选的是公共镜像自己装环境,就很有可能漏掉驱动这一步。
你可以先确认一下驱动装没装:
- 执行
nvidia-smi,如果提示command not found,说明连命令都没装进去。 - 执行
which nvidia-smi,如果返回空,也说明驱动程序没装好。
对于这种情况,有两种解决思路:
-
用官方脚本一键装:腾讯云提供了一个GPU环境自动部署脚本,可以一次性把GPU驱动、CUDA、cuDNN都装好。大致步骤是:
wget https://gpu-related-scripts-1251783334.cos.ap-guangzhou.myqcloud.com/gpu-auto-install/gpu_auto_install.sh
wget https://gpu-related-scripts-1251783334.cos.ap-guangzhou.myqcloud.com/gpu-auto-install/driver460_cuda11.2.2.txt
sudo bash ./gpu_auto_install.sh install --config_file=./driver460_cuda11.2.2.txt
脚本跑完会自动装好驱动和CUDA,再执行nvidia-smi就能看到显卡信息了。 -
自己手动装驱动:如果你对Linux比较熟,也可以自己从NVIDIA官网下载对应驱动。大致流程是:
– 先禁用nouveau开源驱动;
– 安装gcc、kernel-devel等编译依赖;
– 用chmod +x给驱动run文件加执行权限,然后sudo ./NVIDIA-Linux-x86_64-xxx.run安装;
– 安装完重启,再执行nvidia-smi检查。
对新手来说,更建议用第一种脚本方式,出错概率小,也省时间。如果你还没买机器,可以直接在创建时选带“GPU环境自动安装”的镜像,这样拿到手就是可以直接跑 nvidia-smi 的状态。你可以参考这个活动页的说明:腾讯云GPU云服务器活动页。
场景二:T4等显卡显示No devices were found
有些朋友用的是T4这种Tesla系列显卡,装完驱动后执行 nvidia-smi,仍然提示 No devices were found,但 lspci 明明能看到显卡。这种情况在一些云厂商的GPU云服务器上都出现过,原因之一是新版本的T4默认开启了GSP Firmware,会导致驱动在某些情况下识别不到设备。
以华为云和天翼云的相关文档为例,他们给出的解决方法是:先卸载nvidia内核模块,再关闭GSP Firmware开关,重新加载模块。
具体命令大致如下(以root权限执行):
-
卸载现有模块:
rmmod nvidia_drm
rmmod nvidia_modeset
rmmod nvidia -
关闭GSP Firmware并重新加载:
modprobe nvidia NVreg_EnableGpuFirmware=0
modprobe nvidia_drm
modprobe nvidia_modeset -
验证:
nvidia-smi
如果这时候能看到T4显卡信息,说明问题解决。
上面的命令只是临时生效,重启后会恢复。如果要持久化,需要在 /etc/modprobe.d/nvidia.conf 文件里加一行:
options nvidia NVreg_EnableGpuFirmware=0
然后再更新initramfs并重启。
虽然这是其他云厂商的文档,但在腾讯云的GPU云服务器上,如果遇到类似T4显卡 No devices were found 的问题,也可以尝试同样的方法排查。当然,你也可以直接提工单,让技术支持帮你确认是不是GSP Firmware的问题。
场景三:GPU虚拟化型实例装错驱动
还有一种情况,是你买的不是普通的计算型GPU,而是“GPU虚拟化型”实例,比如用来做图形渲染、桌面虚拟化的那种。这种实例的GPU硬件和普通Tesla卡不一样,需要装的是GRID驱动,而不是普通的NVIDIA驱动。
很多云厂商的帮助文档里都会强调这一点:
- GPU计算型实例 → 装普通NVIDIA驱动。
- GPU虚拟化型实例 → 装GRID驱动。
如果你在虚拟化型实例上装了普通驱动,大概率会出现 nvidia-smi 报错,或者能识别到显卡但无法正常工作。解决方法也很简单:卸载普通驱动,换成对应云厂商提供的GRID驱动。
以腾讯云的GPU云服务器为例,如果你不确定自己买的是哪种类型,可以先去控制台看实例规格说明,如果写了“GRID”或者“图形加速”,就要按虚拟化型实例来处理。相关的驱动下载和安装步骤,可以在腾讯云GPU云服务器的帮助文档里找到。
从根源避免:创建GPU云服务器时的正确姿势
与其等到 nvidia-smi 报错再排查,不如在创建机器时就尽量把坑填平。这里结合腾讯云的GPU云服务器,给你几个实用建议:
-
先选对实例规格:在创建实例时,实例规格一定要选带“GPU”字样的,比如T4、A10、A100这些。如果你要做大模型推理,建议至少选T4或A10起步;如果是训练,可以考虑A100。规格选错,后面再怎么折腾都没用。
-
选对镜像:对于新手,强烈建议选“GPU环境自动安装”的Linux镜像,比如腾讯云活动页里提供的那些,创建后会自动装好GPU驱动、CUDA、cuDNN,拿到手就能跑
nvidia-smi。如果你习惯自己装环境,也要确保选的镜像是“GPU加速型”,并且系统版本在官方支持列表里。 -
确认驱动状态:创建完成后,先别急着装项目,先登录机器执行
nvidia-smi,确认能看到显卡信息。如果看不到,及时排查,不要等到项目跑起来才发现。 -
注意安全组和网络:如果你需要用Jupyter Notebook或者远程桌面,记得在腾讯云控制台配置好安全组,放通对应的端口(比如8888),否则即使环境装好了,也访问不了。
如果你还没买机器,可以先去腾讯云GPU云服务器页面看看具体的规格和镜像选项:腾讯云GPU云服务器。选的时候注意看实例规格说明和镜像描述,尽量选“GPU加速型”和“自动安装GPU环境”的组合,这样能省很多事。
总结一下
回到最开始的问题:“GPU云服务器 nvidia-smi 找不到显卡是怎么回事?” 总结下来,无非是这么几种情况:
- 实例规格没选对,根本没给你GPU。
- 驱动没装,或者装了没加载。
- T4等显卡开启了GSP Firmware,导致驱动识别失败。
- GPU虚拟化型实例装了普通驱动。
只要按照上面的步骤,从 lspci 到 nvidia-smi 一步步排查,大部分问题都能解决。如果你是在腾讯云的GPU云服务器上遇到这个问题,记住两个关键点:一是选对规格和镜像,二是用官方脚本一键装环境,能省掉很多麻烦。
希望这篇文章能帮你顺利跑通 nvidia-smi,早点把AI项目跑起来。如果还有其他问题,欢迎在评论区留言,我会尽量帮你解答。
| 厂商 | 配置 | 带宽 / 流量 | 价格 | 购买地址 |
|---|---|---|---|---|
| 腾讯云 | 4核4G | 3M | 79元/年 | 点击查看 |
| 腾讯云 | 2核4G | 5M | 188元/年 | 点击查看 |
| 腾讯云 | 4核8G | 10M | 630元/年 | 点击查看 |
| 腾讯云 | 4核16G | 12M | 1024元/年 | 点击查看 |
| 腾讯云 | 2核4G | 6M | 528元/3年 | 点击查看 |
| 腾讯云 | 2核2G | 5M | 396元/3年(≈176元/年) | 点击查看 |
| 腾讯云GPU服务器 | 32核64G | AI模型应用部署搭建 | 691元/月 | 点击查看 |
| 腾讯云GPU服务器 | 8核32G | AI模型应用部署搭建 | 502元/月 | 点击查看 |
| 腾讯云GPU服务器 | 10核40G | AI模型应用部署搭建 | 1152元/月 | 点击查看 |
| 腾讯云GPU服务器 | 28核116G | AI模型应用部署搭建 | 1028元/月 | 点击查看 |
所有价格仅供参考,请以官方活动页实时价格为准。