HPC/AI集群PCIE设备状态检查脚本 v1.0

运行环境Linux · Bash Shell

用于批量巡检 HPC/AI 集群或分布式存储节点上的 PCIe 设备在位情况和PCIE速率状态

cluster_pcie_check脚本使用手册

版本 1.0 发布人 张建 发布日期 2026年3月12日

适用环境:AI训练集群 / HPC集群 / 分布式存储

脚本语言:Bash

1. 脚本简介

cluster_pcie_check.sh 用于 批量巡检 HPC/AI 集群或分布式存储节点上的 PCIe 设备,支持:

  • GPU / DCU / NIC 自动分类
  • PCIe 总线号、理论速率(LnkCap)、实际速率(LnkSta)采集
  • PCIe 降速自动标记
  • 集群统计(节点数、GPU/NIC/DCU 总数)
  • 异常节点汇总

2. 使用方式

./cluster_pcie_check.sh [options]

可选参数

参数 说明 默认值
-hostfile FILE 节点列表文件,每行一个节点名,默认读取nodelist nodelist
-dev KEYWORDS 需要检测的 PCIe 设备关键字,如:Mellanox Co-processor NVIDIA Mellanox Co-processor NVIDIA
-p NUM 并行 SSH 登录节点数,越大越快但受网络/主机限制 50
-w SEC SSH 连接超时时间(秒) 5
-h 显示帮助信息 -

3. 示例命令

默认参数检查 Mellanox 和 DCU:

./cluster_pcie_check.sh -dev Mellanox Co-processor  #通过lspci | grep -i co-pro命令先在单机上取得部件的完整名称

指定节点列表文件,增加并发度,SSH 超时 10 秒:

./cluster_pcie_check.sh -hostfile my_nodes.txt -dev Mellanox Co-processor NVIDIA -p 100 -w 10

查看帮助:

./cluster_pcie_check.sh -h

4. 输出说明

4.1 屏幕输出示例

NODE: GPU001  (GPU:0 DCU:1 NIC:1)
TYPE     BUS        CAP        STA
----------------------------------------------
DCU      05:00.0    32GT/s     32GT/s
NIC      06:00.0    32GT/s     32GT/s
----------------------------------------------
  • NODE:节点名称
  • TYPE:设备类型(DCU / NIC / GPU)
  • BUS:PCIe 总线号
  • CAP:理论最大速率(LnkCap)
  • STA:实际速率(LnkSta)
  • 降速标记 ***:CAP(理想速率)≠ STA(实际速率)

4.2 集群统计示例

Cluster Summary
----------------------------------------------------------------------------
Total Nodes: 264
Total GPU : 2112
Total NIC : 2640
Total DCU : 2112

4.3 异常 PCIe 汇总示例

Abnormal PCIe (Link Downspeed)
----------------------------------------------------------------------------
GPU001 DCU 05:00.0 32GT/s 16GT/s
GPU002 NIC 06:00.1 32GT/s 16GT/s

5. 日志文件

日志保存在脚本同级目录:./pcie_device_status/pcie_device_YYYYMMDD_HHMMSS.log

内容与屏幕输出一致,便于存档或批量分析

6.注意事项

  1. 节点必须可以通过 SSH 无密码登录
  2. 并行数 (-p) 太大可能导致 SSH 队列阻塞或节点负载升高
  3. 确保 lspci 在所有节点可用