1. 什么是 ppu-smi
这里的 PPU 指的是阿里云的 T-head PPU 设备。
ppu-smi 全称是 PPU System Management Interface,是 T-head PPU 提供的管理和监控 PPU 设备的接口。
ppu-smi 以纯文本或 CSV 格式通过标准输出或文件提供监控信息,同时还提供多种管理操作来改变设备状态。ppu-smi 的功能通过基于 C 的 HGML 库提供。
1.1 可查询的状态
- ECC 错误计数
- PPU 利用率
- 活动计算进程
- 时钟和性能状态
- 温度
- 电源管理
- 硬件识别
- 内存使用情况
- 支持的时钟频率
- 退役页面
- 重映射行
- 版本信息
1.2 可修改的状态
- ECC 模式
- 计算模式
- PPU 复位
- 虚拟化模式
- PPU 时钟锁定
- 内存时钟锁定
- 应用程序时钟
- 功耗限制
- 多实例 PPU
- 自动复位模式
- 超频模式
- 多进程服务
2. ppu-smi 字段含义
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
| ppu-smi
Thu Jul 31 09:56:53 2025
+-------------------------------------------------------------------------------+
| PPU-SMI 1.17 Driver Version: 1.4.1-816bc0 HGGC Version: 11.1 |
+---------------------------------+----------------------+----------------------+
| PPU Name Persistence M. | Bus-Id | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap | Memory-Usage | PPU-Util Compute M. |
| | | MIG M. |
+=================================+======================+======================+
| 0 PPU-ZW810E N/A | 00000000:01:01.0 | 0 |
| N/A 32C N/A 84W / 400W | 81021MiB / 97920MiB | 0% Default |
| | | Disabled |
+---------------------------------+----------------------+----------------------+
| 1 PPU-ZW810E N/A | 00000000:01:02.0 | 0 |
| N/A 34C N/A 80W / 400W | 35MiB / 97920MiB | 0% Default |
| | | Disabled |
+---------------------------------+----------------------+----------------------+
| 2 PPU-ZW810E N/A | 00000000:01:03.0 | 0 |
| N/A 34C N/A 82W / 400W | 35MiB / 97920MiB | 0% Default |
| | | Disabled |
+---------------------------------+----------------------+----------------------+
| 3 PPU-ZW810E N/A | 00000000:01:04.0 | 0 |
| N/A 31C N/A 81W / 400W | 35MiB / 97920MiB | 0% Default |
| | | Disabled |
+---------------------------------+----------------------+----------------------+
| 4 PPU-ZW810E N/A | 00000000:00:01.0 | 0 |
| N/A 31C N/A 82W / 400W | 35MiB / 97920MiB | 0% Default |
| | | Disabled |
+---------------------------------+----------------------+----------------------+
| 5 PPU-ZW810E N/A | 00000000:00:02.0 | 0 |
| N/A 35C N/A 86W / 400W | 35MiB / 97920MiB | 0% Default |
| | | Disabled |
+---------------------------------+----------------------+----------------------+
| 6 PPU-ZW810E N/A | 00000000:00:03.0 | 0 |
| N/A 36C N/A 79W / 400W | 35MiB / 97920MiB | 0% Default |
| | | Disabled |
+---------------------------------+----------------------+----------------------+
| 7 PPU-ZW810E N/A | 00000000:00:04.0 | 0 |
| N/A 35C N/A 83W / 400W | 35MiB / 97920MiB | 0% Default |
| | | Disabled |
+---------------------------------+----------------------+----------------------+
| 8 PPU-ZW810E N/A | 00000000:01:05.0 | 0 |
| N/A 32C N/A 81W / 400W | 35MiB / 81920MiB | 0% Default |
| | | Disabled |
+---------------------------------+----------------------+----------------------+
| 9 PPU-ZW810E N/A | 00000000:01:06.0 | 0 |
| N/A 36C N/A 80W / 400W | 35MiB / 97920MiB | 0% Default |
| | | Disabled |
+---------------------------------+----------------------+----------------------+
| 10 PPU-ZW810E N/A | 00000000:01:07.0 | 0 |
| N/A 33C N/A 81W / 400W | 35MiB / 97920MiB | 0% Default |
| | | Disabled |
+---------------------------------+----------------------+----------------------+
| 11 PPU-ZW810E N/A | 00000000:01:08.0 | 0 |
| N/A 32C N/A 81W / 400W | 35MiB / 97920MiB | 0% Default |
| | | Disabled |
+---------------------------------+----------------------+----------------------+
| 12 PPU-ZW810E N/A | 00000000:00:05.0 | 0 |
| N/A 33C N/A 82W / 400W | 35MiB / 97920MiB | 0% Default |
| | | Disabled |
+---------------------------------+----------------------+----------------------+
| 13 PPU-ZW810E N/A | 00000000:00:06.0 | 0 |
| N/A 34C N/A 81W / 400W | 35MiB / 97920MiB | 0% Default |
| | | Disabled |
+---------------------------------+----------------------+----------------------+
| 14 PPU-ZW810E N/A | 00000000:00:07.0 | 0 |
| N/A 37C N/A 82W / 400W | 35MiB / 97920MiB | 0% Default |
| | | Disabled |
+---------------------------------+----------------------+----------------------+
| 15 PPU-ZW810E N/A | 00000000:00:08.0 | 0 |
| N/A 37C N/A 80W / 400W | 35MiB / 97920MiB | 0% Default |
| | | Disabled |
+---------------------------------+----------------------+----------------------+
+-------------------------------------------------------------------------------+
| Processes: |
| PPU GI CI PID Type Process name PPU Memory |
| ID ID Usage |
+===============================================================================+
| 0 N/A N/A 3880 C 81001MiB |
+-------------------------------------------------------------------------------+
|
字段 | 说明 |
---|
PPU-SMI | ppu-smi 的版本号 |
Driver Version | 驱动版本号 |
HGGC Version | HGGC 版本号 |
PPU | PPU 卡序号 |
PPU Name | PPU 的名称 |
Persistence M. | 持久模式是否启用。N/A 表示不支持或未启用 |
Bus-Id | PPU 所在的 PCIe 总线地址 |
Volatile Uncorr. ECC | 未 corrected 错误的易失性 ECC 内存错误计数。用于检测内存错误 |
Fan | 风扇速度, N/A 表示没有风扇或风扇速度读数 |
Temp | PPU 温度 |
Perf | 性能状态。N/A 表示不支持或未设置 |
Pwr | Usage/Cap: 当前功耗和功耗上限 |
Memory-Usage | 已用 PPU 显存/总 PPU 显存 |
PPU-Util | PPU 利用率 |
Compute M. | 计算模式。Default 是默认模式 |
MIG M. | MIG(Multi-Instance PPU) 模式, 将一个物理 PPU 分成多个独立、隔离的实例。Disabled 表示未启用 |
字段 | 说明 |
---|
PPU | PPU 设备的 ID |
GI | Global ID, 针对多 PPU 系统, 一个进程所有的 compute context 的统一 ID |
CI | Compute Instance ID, 属于同一个 PPU 进程内, 区分不同 compute context 的 ID |
PID | 进程 ID |
Type | 进程类型, C 表示 Compute 进程, G 表示 Graphics 进程 |
Process name | 进程名称 |
PPU Memory Usage | 该进程当前在 PPU 上占用的内存大小 |
3. 常用参数
每隔 5 秒刷新一次
1
2
3
4
5
| ppu-smi -L
PPU 0: PPU-ZW810E (UUID: GPU-011ef111-8600-0104-0000-00002076ca25)
...
PPU 15: PPU-ZW810E (UUID: GPU-011ef111-0642-0308-0000-0000404b4c20)
|
可通过 -i
参数指定 PPU 序号,如果不指定,默认查询全部。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
| ppu-smi -q -i 0
==============PPUSMI LOG==============
Timestamp : Thu Jul 31 10:06:10 2025
Driver Version : 1.4.1-816bc0
HGGC Version : 11.1
SDK Version : 1.5.3-7369b2
Attached PPUs : 16
PPU 00000000:01:01.0
Product Name : PPU-ZW810E
Product Architecture : Beethoven
Persistence Mode : N/A
MIG Mode
Current : Disabled
Pending : Disabled
Serial Number : GUQC04KB2344Y04
PPU UUID : GPU-011ef111-8600-0104-0000-00002076ca25
Minor Number : 1
Rear ID : 0
PPU Virtualization Mode
Virtualization Mode : None
Host VGPU Mode : Non SR-IOV
PCI
Bus : 0x01
Device : 0x01
Domain : 0x0000
Device Id : 0x60011DED
Bus Id : 00000000:01:01.0
Sub System Id : 0x20041DED
Vendor Id : 0x1DED
PPU Link Info
PCIe Generation
Max : 5
Current : 5
Link Width
Max : 8x
Current : 8x
Replays Since Reset : N/A
Tx Throughput : 0 KB/s
Rx Throughput : 0 KB/s
Fan Speed : N/A
Performance State : N/A
VBIOS Version : 1.6.6-a35155
Auto Reset : Enabled
Overclocking Mode : Ultra
Performance Counter : Enabled
Tide Mode : Disabled
MPS Mode : Disabled
Clocks Throttle Reasons
Idle : Active
Applications Clocks Setting : Not Active
SW Power Cap : Not Active
HW Slowdown : Not Active
HW Thermal Slowdown : Not Active
HW Power Brake Slowdown : Not Active
Sync Boost : Not Active
SW Thermal Slowdown : Not Active
Xid Errors
PPU Reset Correctable : N/A
OS Reboot Correctable : N/A
Cold Reboot Correctable : N/A
Compute Mode : Default
HBM Vendor : Samsung
Memory Usage
Total : 97920 MiB
Used : 81021 MiB
Free : 16899 MiB
Utilization
Ppu : 0 %
Core : 0 %
Memory : 82 %
Encoder : 0 %
Decoder : 0 %
Ecc Mode
Current : Enabled
Pending : Enabled
ECC Errors
Volatile
SRAM Correctable : N/A
SRAM Uncorrectable : N/A
DRAM Correctable : 0
DRAM Uncorrectable : 0
Aggregate
SRAM Correctable : N/A
SRAM Uncorrectable : N/A
DRAM Correctable : 0
DRAM Uncorrectable : 0
Retired Pages
Single Bit ECC : 0
Double Bit ECC : 0
Pending Page Blacklist : No
Remapped Rows
Correctable Error : 0
Uncorrectable Error : 0
Pending : No
Remapping Failure Occurred : No
Bank Remap Availability Histogram
Max : 3072 bank(s)
High : 0 bank(s)
Partial : 0 bank(s)
Low : 0 bank(s)
None : 0 bank(s)
Temperature
PPU Current Temp : 32 C
PPU Shutdown Temp : 95 C
PPU Slowdown Temp : 85 C
PPU Max Operating Temp : 85 C
PPU Target Temperature : N/A
Memory Current Temp : 36 C
Memory Max Operating Temp : 95 C
Power Readings
Power Management : Supported
Power Draw : 84.49 W
Power Limit : 400.00 W
Default Power Limit : 400.00 W
Enforced Power Limit : 400.00 W
Min Power Limit : 250.00 W
Max Power Limit : 400.00 W
Clocks
CU : 200 MHz
Memory : 1800 MHz
Video : 1000 MHz
Applications Clocks
CU : 1700 MHz
Memory : 1800 MHz
Default Applications Clocks
CU : 1700 MHz
Memory : 1800 MHz
Max Clocks
CU : 1700 MHz
Memory : 1800 MHz
Video : 1000 MHz
Processes
Compute instance ID : N/A
Process ID : 3880
Type : Compute
Name :
Used PPU Memory : 81001 MiB
|
ppu-smi --query-ppu=ppu_name --format=csv
查询指定字段信息
--query-ppu
参数可以指定要查询的信息,--format
参数可以指定输出格式。
1
2
3
4
5
| ppu-smi --query-ppu=temperature.ppu,utilization.ppu,utilization.memory,memory.total --format=csv,noheader
32 C, 0 %, 82 %, 97920 MiB
...
37 C, 0 %, 0 %, 97920 MiB
|
ppu-smi -q -d SUPPORTED_CLOCKS
查看 PPU 的时钟频率
通过 -i
参数指定 PPU 序号,如果不指定,则默认查询全部 PPU 的时钟频率。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
| ppu-smi -q -d SUPPORTED_CLOCKS -i 0
==============PPUSMI LOG==============
Timestamp : Thu Jul 31 10:08:38 2025
Driver Version : 1.4.1-816bc0
HGGC Version : 11.1
SDK Version : 1.5.3-7369b2
Attached PPUs : 16
PPU 00000000:01:01.0
Supported Clocks
Memory : 1800 MHz
CU : 200 MHz
CU : 225 MHz
CU : 250 MHz
CU : 275 MHz
|
4. 常用子命令
ppu-smi icn -s
查看 ICN 网络状态
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
| ppu-smi icn -s
PPU 0: PPU-ZW810E (UUID: GPU-011ef111-8600-0104-0000-00002076ca25)
Link 0: 53 GB/s
Link 1: 53 GB/s
Link 2: 53 GB/s
Link 3: 53 GB/s
Link 4: 53 GB/s
Link 5: 53 GB/s
Link 6: 53 GB/s
...
PPU 15: PPU-ZW810E (UUID: GPU-011ef111-0642-0308-0000-0000404b4c20)
Link 0: 53 GB/s
Link 1: 53 GB/s
Link 2: 53 GB/s
Link 3: 53 GB/s
Link 4: 53 GB/s
Link 5: 53 GB/s
Link 6: 53 GB/s
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
| ppu-smi topo -m
PPU0 PPU1 PPU2 PPU3 PPU4 PPU5 PPU6 PPU7 PPU8 PPU9 PPU10 PPU11 PPU12 PPU13 PPU14 PPU15 CPU Affinity NUMA Affinity
PPU0 X ICN2 ICN1 ICN2 ICN1 SYS SYS SYS PHB ICN1 PHB PHB SYS SYS SYS SYS 0-63 0-1
PPU1 ICN2 X ICN2 ICN1 SYS ICN1 SYS SYS ICN1 PHB PHB PHB SYS SYS SYS SYS 0-63 0-1
PPU2 ICN1 ICN2 X ICN1 SYS SYS ICN2 SYS PHB PHB PHB ICN1 SYS SYS SYS SYS 0-63 0-1
PPU3 ICN2 ICN1 ICN1 X SYS SYS SYS ICN2 PHB PHB ICN1 PHB SYS SYS SYS SYS 0-63 0-1
PPU4 ICN1 SYS SYS SYS X ICN2 ICN1 ICN2 SYS SYS SYS SYS PHB ICN1 PHB PHB 0-63 0-1
PPU5 SYS ICN1 SYS SYS ICN2 X ICN2 ICN1 SYS SYS SYS SYS ICN1 PHB PHB PHB 0-63 0-1
PPU6 SYS SYS ICN2 SYS ICN1 ICN2 X ICN1 SYS SYS SYS SYS PHB PHB PHB ICN1 0-63 0-1
PPU7 SYS SYS SYS ICN2 ICN2 ICN1 ICN1 X SYS SYS SYS SYS PHB PHB ICN1 PHB 0-63 0-1
PPU8 PHB ICN1 PHB PHB SYS SYS SYS SYS X ICN2 ICN1 ICN2 ICN1 SYS SYS SYS 0-63 0-1
PPU9 ICN1 PHB PHB PHB SYS SYS SYS SYS ICN2 X ICN2 ICN1 SYS ICN1 SYS SYS 0-63 0-1
PPU10 PHB PHB PHB ICN1 SYS SYS SYS SYS ICN1 ICN2 X ICN1 SYS SYS ICN2 SYS 0-63 0-1
PPU11 PHB PHB ICN1 PHB SYS SYS SYS SYS ICN2 ICN1 ICN1 X SYS SYS SYS ICN2 0-63 0-1
PPU12 SYS SYS SYS SYS PHB ICN1 PHB PHB ICN1 SYS SYS SYS X ICN2 ICN1 ICN2 0-63 0-1
PPU13 SYS SYS SYS SYS ICN1 PHB PHB PHB SYS ICN1 SYS SYS ICN2 X ICN2 ICN1 0-63 0-1
PPU14 SYS SYS SYS SYS PHB PHB PHB ICN1 SYS SYS ICN2 SYS ICN1 ICN2 X ICN1 0-63 0-1
PPU15 SYS SYS SYS SYS PHB PHB ICN1 PHB SYS SYS SYS ICN2 ICN2 ICN1 ICN1 X 0-63 0-1
Legend:
X = Self
SYS = Connection traversing PCIe as well as the SMP interconnect between NUMA nodes (e.g., QPI/UPI)
NODE = Connection traversing PCIe as well as the interconnect between PCIe Host Bridges within a NUMA node
PHB = Connection traversing PCIe as well as a PCIe Host Bridge (typically the CPU)
PXB = Connection traversing multiple PCIe bridges (without traversing the PCIe Host Bridge)
PIX = Connection traversing at most a single PCIe bridge
ICN# = Connection traversing a bonded set of # ICN links
PPU Rear Group:
Rear ID 0: PPU 0,1,2,3,4,5,6,7
Rear ID 1: PPU 8,9,10,11,12,13,14,15
|
在对角线上,可以看到 PPU 16 卡被分为了 0-3、4-7、8-11、12-15 四组,组内使用 ICN 连接。
1
2
3
4
5
| PPU0 PPU1 PPU2 PPU3
PPU0 X ICN2 ICN1 ICN2
PPU1 ICN2 X ICN2 ICN1
PPU2 ICN1 ICN2 X ICN1
PPU3 ICN2 ICN1 ICN1 X
|
而组间连接情况就不是很有规律,PPU(0-3) 与 PPU(4-7) 有 4 条链路(2 条 ICN1 + 2 条 ICN2),PPU(0-3) 与 PPU(8-11) 有 4 条 ICN1 链路,PPU(4-7) 与 PPU(12-15) 有 3 条 ICN1 链路,PPU(8-11) 与 PPU(12-15) 有 4 条链路(2 条 ICN1 + 2 条 ICN2)。
5. 常用配置命令
可以通过 -i
参数指定 PPU 序号。
在 ACK\ACS 使用时,无法进行设置,提示 The current user does not have permission for operation
。
一共有三种计算模式:0/Default 多个进程共享,会有竞争和等待;2/Prohibited 禁用显卡;3/Exclusive 进程独占
在 ACK\ACS 使用时,仅能设置 -e 0
,否则提示 The current user does not have permission for operation
。
当发生双位 ECC 错误时,可以使用此命令重置 PPU 硬件状态,避免重启机器。
在 ACK\ACS 使用时,无法进行设置,提示 The current user does not have permission for operation
。
在 ACK\ACS 使用时,仅能设置 -vm 0
,否则提示 The current user does not have permission for operation
。
1
2
| ppu-smi -lpc 1500,1500 -i 0 # 锁定到 1500MHz
ppu-smi -rpc -i 0 # 重置到默认值
|
在 ACK\ACS 使用时,无法进行设置,提示 The current user does not have permission for operation
。
1
2
| ppu-smi -lmc 5100,5100 -i 0 # 锁定到 5100MHz
ppu-smi -rmc -i 0 # 重置到默认值
|
在 ACK\ACS 使用时,无法进行设置,提示 The current user does not have permission for operation
。
1
2
| ppu-smi -ac 2000,800 -i 0 # 内存 2000MHz,计算单元 800MHz
ppu-smi -rac -i 0 # 重置到默认值
|
在 ACK\ACS 使用时,无法进行设置,提示 The current user does not have permission for operation
。
1
| ppu-smi -pl 300 -i 0 # 设置最大功耗为 300W
|
在 ACK\ACS 使用时,无法进行设置,提示 The current user does not have permission for operation
。
1
2
| ppu-smi -mig 1 -i 0 # 启用 MIG
ppu-smi -mig 0 -i 0 # 禁用 MIG
|
在 ACK\ACS 使用时,无法进行设置,提示 The current user does not have permission for operation
。
1
2
| ppu-smi --auto-reset=1 -i 0 # 启用自动复位
ppu-smi --auto-reset=0 -i 0 # 禁用自动复位
|
在 ACK\ACS 使用时,无法进行设置,提示 The current user does not have permission for operation
。
1
2
| ppu-smi --overclocking=0 -i 0 # 默认模式
ppu-smi --overclocking=1 -i 0 # 超频模式
|
在 ACK\ACS 使用时,无法进行设置,提示 The current user does not have permission for operation
。
1
2
| ppu-smi -mps 1 -i 0 # 启用 MPS
ppu-smi -mps 0 -i 0 # 禁用 MPS
|
1
| ppu-smi drain -p 0000:01:01.0 -m 1
|
在 ACK\ACS 使用时,无法进行设置,提示 The current user does not have permission for operation
。
6. 其他子命令
6.1 统计信息
1
| ppu-smi stats -h # 查看统计信息帮助
|
1
2
3
| ppu-smi stats -i 0
0, temp , 1753929116478263, 32
|
6.2 设备监控
1
| ppu-smi dmon -h # 查看设备监控帮助
|
1
2
3
4
| ppu-smi dmon -i 0
# ppu pwr ptemp mtemp cu core mem enc dec mclk pclk
# idx W C C % % % % % MHz MHz
0 84 32 35 0 0 82 0 0 1800 200
|
6.3 进程监控
1
| ppu-smi pmon -h # 查看进程监控帮助
|
1
2
3
4
| ppu-smi pmon -i 0
# ppu pid type cu mem enc dec command
# idx # C/G % % % % name
0 12106 C 0 82 0 0
|
6.4 拓扑信息
1
| ppu-smi topo -h # 查看拓扑信息帮助
|
6.5 驱逐状态
1
| ppu-smi drain -h # 查看驱逐状态帮助
|
6.6 ICN 链接
1
| ppu-smi icn -h # 查看 ICN 链接信息帮助
|
6.7 vGPU 管理
1
| ppu-smi vgpu -h # 查看 vGPU 管理帮助
|
6.8 MIG 管理
1
| ppu-smi mig -h # 查看 MIG 管理帮助
|
6.9 性能监控
1
| ppu-smi gpm -h # 查看性能监控帮助
|
7. 总结
- 在 ACK\ACS 使用时,对设备的配置命令基本没有权限执行,只能查询
- ppu-smi 的命令行参数与 nvidia-smi 的命令行参数基本一致
- 在 ppu 环境下可以直接使用 nvidia-smi 命令,官方提供的镜像包含
/usr/local/PPU_SDK/CUDA_SDK/bin/nvidia-smi
文件