刚买的GPU云服务器跑nvidia-smi一片空白咋办

限时 腾讯云新春特惠 — 轻量2核2G4M 576元99元/年 立即领取 →

很多朋友第一次在云上买GPU云服务器,就是为了跑个深度学习或者大模型,结果一上来就卡在第一步:

nvidia-smi 直接报 No devices were found 或者干脆 command not found,完全不知道是机器问题还是自己操作问题。

这篇文章就围绕一个真实场景来讲:你已经在腾讯云上开好了一台GPU云服务器,准备用来跑AI项目,但 nvidia-smi 就是找不到显卡。我会一步步带你排查,并顺带说清楚在创建这台机器时,怎样选配置、选镜像,能尽量避免这类问题。

爆款 腾讯云服务器 · 热销配置
限时优惠 | 个人专享
1.7折
轻量 2核2G4M
50GB SSD | 300GB流量
576元/年
99元/年
2.2折
轻量 2核4G6M
70GB SSD | 600GB流量
900元/年
199元/年
2.5折
轻量 4核8G10M
120GB SSD | 1500GB流量
2520元/年
630元/年
海外
海外 2核2G30M
东京/新加坡 | 1TB流量
576元/年
99元/年
查看全部优惠配置 →

如果你还没买机器,只是先查“GPU云服务器 nvidia-smi 找不到显卡是怎么回事”,可以先把下面这台机器当成目标,照着选好规格和镜像,后面会省很多事。你可以点这个链接去腾讯云GPU云服务器页面看看具体有哪些规格:腾讯云GPU云服务器

先搞清楚:你这台GPU云服务器到底有没有显卡

很多新手一看到 nvidia-smi 报错,第一反应是“显卡坏了”,其实大部分情况只是系统层面没识别到,或者压根没装驱动。

在动手改配置前,建议先用下面几步,确认一下云后台到底给你配了没有GPU。

买1年送3个月 腾讯云服务器 · 超值年付
限时活动 | 数量有限
轻量 2核2G4M
个人专享 | 免费续3个月
576元/年
99元/年
轻量 2核4G5M
个人专享 | 免费续3个月
780元/年
188元/年
轻量 4核8G12M
个人专享 | 免费续3个月
2760元/年
880元/年
CVM 2核2G S5
个企同享 | 免费续3个月
846元/年
245元/年
CVM 2核4G S5
个企同享 | 免费续3个月
2196元/年
637元/年
CVM 4核8G S5
个企同享 | 免费续3个月
4776元/年
1256元/年
立即领取买1年送3个月优惠 →

  1. 去控制台看实例规格:登录腾讯云控制台,找到你这台GPU云服务器,点进实例详情,看“实例规格”那一栏,是不是带“GPU”、“T4”、“A10”这类字样。如果只写了“标准型S5”、“计算型C6”,那大概率是拿成了普通CPU机器。

  2. lspci 命令看硬件:登录到机器里(Linux系统),执行:
    lspci | grep -i nvidia
    如果这里能看到类似 “3D controller: NVIDIA Corporation TU104GL [Tesla T4]” 的输出,说明硬件是有的,只是驱动没装好。如果啥也看不到,就要怀疑是不是规格选错了。

  3. 看系统里有没有nvidia模块:执行:
    lsmod | grep nvidia
    如果啥输出也没有,说明内核里根本没加载nvidia驱动,这也是 nvidia-smi 会失败的常见原因。

    长期特惠 腾讯云服务器 · 3年/5年机特惠
    低至2折 | 省钱首选
    2折
    轻量 2核2G4M
    个人专享 | 约9.8元/月
    1728元/3年
    353元/3年
    2折
    轻量 2核4G6M
    个人专享 | 约14.7元/月
    2700元/3年
    528元/3年
    5年
    CVM SA2 AMD
    高性价比 | 约17.4元/月
    3400元/5年
    1044元/5年
    5年
    CVM S5 Intel
    稳定计算 | 约21.2元/月
    4230元/5年
    1269元/5年
    查看长期特惠详情 →

简单总结一下:

  • lspci 能看到NVIDIA设备,但 nvidia-smi 看不到 → 驱动问题。
  • lspci 也看不到NVIDIA设备 → 规格或镜像问题。

如果你发现是规格选错了,也不用重买,可以先关机,在控制台把实例规格改成带GPU的,比如T4、A10这些,再开机继续后面的步骤。

场景一:lspci能看到显卡,nvidia-smi报错

这种情况最常见,说明硬件在,但驱动没装好,或者装了但没加载成功。不同云厂商的GPU云服务器,默认驱动状态不太一样,有的会预装,有的需要自己装。

GPU 腾讯云 · GPU服务器 & 爆品专区
AI算力 | 限量抢购
GPU GN6S
NVIDIA P4 | 4核20G
501元/7天
175元/7天
GPU GN7
NVIDIA T4 | 8核32G
557元/7天
239元/7天
GPU GN8
NVIDIA P40 | 6核56G
1062元/7天
456元/7天
香港 2核 Linux
独立IP | 跨境电商
38元/月
32.3元/月
查看GPU服务器详情 →

以腾讯云的GPU云服务器为例,如果你是在活动页购买的Linux机器,有时候会提供“GPU环境自动安装”的选项,创建后系统会自动装好GPU驱动、CUDA、cuDNN,大概需要十几分钟。但如果你选的是公共镜像自己装环境,就很有可能漏掉驱动这一步。

你可以先确认一下驱动装没装:

  • 执行 nvidia-smi,如果提示 command not found,说明连命令都没装进去。
  • 执行 which nvidia-smi,如果返回空,也说明驱动程序没装好。

对于这种情况,有两种解决思路:

  1. 用官方脚本一键装:腾讯云提供了一个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 就能看到显卡信息了。

  2. 自己手动装驱动:如果你对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权限执行):

  1. 卸载现有模块:
    rmmod nvidia_drm
    rmmod nvidia_modeset
    rmmod nvidia

  2. 关闭GSP Firmware并重新加载:
    modprobe nvidia NVreg_EnableGpuFirmware=0
    modprobe nvidia_drm
    modprobe nvidia_modeset

  3. 验证:
    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云服务器,给你几个实用建议:

  1. 先选对实例规格:在创建实例时,实例规格一定要选带“GPU”字样的,比如T4、A10、A100这些。如果你要做大模型推理,建议至少选T4或A10起步;如果是训练,可以考虑A100。规格选错,后面再怎么折腾都没用。

  2. 选对镜像:对于新手,强烈建议选“GPU环境自动安装”的Linux镜像,比如腾讯云活动页里提供的那些,创建后会自动装好GPU驱动、CUDA、cuDNN,拿到手就能跑 nvidia-smi。如果你习惯自己装环境,也要确保选的镜像是“GPU加速型”,并且系统版本在官方支持列表里。

  3. 确认驱动状态:创建完成后,先别急着装项目,先登录机器执行 nvidia-smi,确认能看到显卡信息。如果看不到,及时排查,不要等到项目跑起来才发现。

  4. 注意安全组和网络:如果你需要用Jupyter Notebook或者远程桌面,记得在腾讯云控制台配置好安全组,放通对应的端口(比如8888),否则即使环境装好了,也访问不了。

如果你还没买机器,可以先去腾讯云GPU云服务器页面看看具体的规格和镜像选项:腾讯云GPU云服务器。选的时候注意看实例规格说明和镜像描述,尽量选“GPU加速型”和“自动安装GPU环境”的组合,这样能省很多事。

总结一下

回到最开始的问题:“GPU云服务器 nvidia-smi 找不到显卡是怎么回事?” 总结下来,无非是这么几种情况:

  • 实例规格没选对,根本没给你GPU。
  • 驱动没装,或者装了没加载。
  • T4等显卡开启了GSP Firmware,导致驱动识别失败。
  • GPU虚拟化型实例装了普通驱动。

只要按照上面的步骤,从 lspcinvidia-smi 一步步排查,大部分问题都能解决。如果你是在腾讯云的GPU云服务器上遇到这个问题,记住两个关键点:一是选对规格和镜像,二是用官方脚本一键装环境,能省掉很多麻烦。

希望这篇文章能帮你顺利跑通 nvidia-smi,早点把AI项目跑起来。如果还有其他问题,欢迎在评论区留言,我会尽量帮你解答。

推荐 腾讯云服务器 · 更多优惠配置
点击查看详情
轻量 2核2G4M
50GB SSD | 300GB流量
99元/年
轻量 2核4G6M
70GB SSD | 600GB流量
199元/年
海外 Linux 2核2G30M
东京/新加坡 | 1TB流量
99元/年
海外 Win 2核2G30M
东京/新加坡 | 1TB流量
99元/年
上云大礼包 1670元
代金券礼包
轻量服务器特惠
跨境电商服务器
查看全部优惠 | 领取专属礼包 →