Linux CPUInfo怎样识别GPU信息
小樊
46
2025-11-29 07:48:40
Linux 中识别 GPU 信息的正确方法
核心结论
- /proc/cpuinfo 只显示 CPU 信息,不包含 GPU 信息。要识别 GPU,应使用面向 PCI/显示设备的工具(如 lspci、lshw)或厂商工具(如 NVIDIA 的 nvidia-smi)。必要时结合 OpenGL/OpenCL 查询渲染与计算能力。对于虚拟机,还需确认是否透传了 GPU 设备。
快速识别步骤
- 使用 lspci 快速定位 GPU 设备
- 执行:lspci | grep -iE “vga|3d|display”
- 关注输出中的厂商与型号字段,例如:NVIDIA Corporation GA102 [GeForce RTX 3090]。多卡时可加 -nn 显示设备编号(如 [10de:2204]),便于后续定位。
- 查看详细硬件与驱动绑定
- 执行:sudo lshw -C display
- 可看到 product(型号)、vendor(厂商)、configuration: driver=…(绑定驱动)、bus info(如 0000:01:00.0)等关键信息。
- 厂商工具与运行信息
- NVIDIA:执行 nvidia-smi
- 可查看 型号、驱动版本、显存、利用率、温度、进程占用 等;如需更细信息可用 nvidia-smi -q,或持续监控 nvidia-smi -l 2。
- 渲染与计算能力验证
- OpenGL:glxinfo | grep -i “opengl renderer|direct rendering”
- OpenCL:clinfo(可查看 GPU 设备名称、驱动版本、计算单元 等)。
虚拟机与容器场景
- 虚拟机
- 先确认是否透传 GPU:lspci | grep -i nvidia(或 grep -i vga)
- 检查是否启用加速:glxinfo | grep -i “direct rendering”(返回 yes 表示启用)
- 查看驱动与设备:lsmod | grep nvidia、dmesg | grep -i nvidia;必要时检查虚拟化平台(如 vGPU/直通)配置。
- 容器
- 确保容器能访问 GPU 设备文件,例如挂载:/dev/nvidia0、/dev/nvidiactl 等,再在容器内运行 nvidia-smi 或相应厂商工具。
常见故障排查
- 设备未识别
- 检查 PCIe 链路与插槽:lspci -vvv | grep -A 20 “” | grep LnkSta
- 检查内核模块:lsmod | grep nvidia;查看内核日志:dmesg | grep -i nvidia
- 确认驱动与硬件兼容、供电与物理连接正常。
- 驱动加载但信息不全
- 用 lshw -C display 确认 driver=… 是否加载正确;必要时重装/升级驱动并重启。