Linux服务器中nvidia-smi无法完整显示GPU全名,如何获取GPU完整名称?
获取Linux服务器上GPU的完整名称(解决nvidia-smi名称截断问题)
我之前也碰到过这个糟心的情况——nvidia-smi默认输出会把长GPU名直接截断,想确认具体型号都看不清。下面几个方法都能帮你拿到完整的GPU名称,亲测好用:
方法1:用nvidia-smi的格式化输出参数
直接指定查询字段并以csv格式输出,就能避开截断问题:
nvidia-smi --query-gpu=name --format=csv,noheader
如果想同时查看其他信息(比如显存总量、GPU索引),可以把多个字段用逗号分隔:
nvidia-smi --query-gpu=index,name,memory.total --format=csv
方法2:读取sysfs系统文件
Linux会把硬件信息挂载在/sys/class/drm目录下,直接读取对应文件就能拿到完整名称:
cat /sys/class/drm/card*/device/name
这里的card*会匹配所有GPU设备,每个GPU对应一个card节点,执行后会逐个输出完整名称。
方法3:用nvidia-settings工具(若已安装)
如果服务器上装了nvidia-settings(桌面环境一般自带,服务器可能需要额外安装),可以用这条命令:
nvidia-settings -q GPUName
它会清晰列出所有GPU的完整名称,还会标注对应的GPU编号。
方法4:通过lspci命令查询
lspci能识别所有PCI设备,过滤NVIDIA相关条目就能看到完整GPU名:
lspci -v | grep -A 10 -i nvidia
在输出里找到带有Kernel driver in use: nvidia的设备块,开头的设备名称就是完整的GPU型号。
这些方法都能完美绕过nvidia-smi的截断限制,你可以根据自己的环境选最顺手的~
内容的提问来源于stack exchange,提问作者fatpanda2049




