4.7.9. hrut_ddr
hrut_ddr 是一个用于监控 DDR( Double Data Rate,双倍速率内存)带宽和性能的工具。它通过读取特定设备文件(如 /dev/axi_mon 或 /dev/ddrmonitor)中的数据,实时显示 DDR 的读写带宽、延迟等信息。
4.7.9.1. 语法说明
以下是执行 hrut_ddr -h 输出的 Usage:
DDR MONITOR HELP INFORMATION
>>> -t/--type sample type: cpu,bpu,vin,codec,gpu,sum,all
>>> -p/--period sample period: [1-1000] ms
>>> -r/--raw print raw data
4.7.9.2. 参数选项说明
以下是 hrut_ddr 支持的选项及其说明:
-t/–type:指定要监控的 DDR 端口类型。可选值包括: 作用:指定要监控的 DDR 端口类型。 参数:
cpu: CPU 端口。bpu: BPU0 ( BPU,硬件加速单元)端口。vin: VIO( Video Input/Output)端口。codec:编解码器端口。gpu: GPU (Graphics Processing Unit,图形处理单元 ) 端口。sum:显示所有端口的总和。all:显示所有端口的详细信息。
-p/–period: 作用:设置采样周期。 参数:采样周期,单位为毫秒( ms),范围为 [1-1000]。
-r/–raw: 作用:以原始数据格式显示详细信息。
-h/–help: 作用:显示帮助信息,解释命令的使用方法。
4.7.9.3. 各项命令选项及其功能说明
显示帮助信息
命令:
hrut_ddr -h
功能:
显示帮助信息,解释命令的使用方法。
打印输出:
DDR MONITOR HELP INFORMATION
>>> -t/--type sample type: cpu,bpu,vin,codec,gpu,sum,all
>>> -p/--period sample period: [1-1000] ms
>>> -r/--raw print raw data
监控所有端口的 DDR 带宽
命令:
hrut_ddr -t all
功能:
监控所有 DDR 端口的读写带宽信息。
打印输出:
root@buildroot:/userdata/gmsl_test# hrut_ddr -t all
port_type:ALL
DDR type is: LPDDR4
Set sample period:10ms, 100 samples per seconds
Time 3546.680s
MB/S P0:CPU P1:BPU P2:VIN P3:CODEC P4:GPU SUM
Read : 19 0 0 12 0 31
Write: 7 0 0 0 0 7
Time 3546.690s
MB/S P0:CPU P1:BPU P2:VIN P3:CODEC P4:GPU SUM
Read : 1 0 0 11 0 12
Write: 0 0 0 0 0 0
Time 3546.700s
MB/S P0:CPU P1:BPU P2:VIN P3:CODEC P4:GPU SUM
Read : 0 0 0 11 0 11
Write: 0 0 0 0 0 0
Time 3546.710s
MB/S P0:CPU P1:BPU P2:VIN P3:CODEC P4:GPU SUM
Read : 3 0 0 12 0 15
Write: 1 0 37 0 0 38
Time 3546.720s
MB/S P0:CPU P1:BPU P2:VIN P3:CODEC P4:GPU SUM
Read : 3 0 0 13 0 16
Write: 0 0 77 0 0 77
Time 3546.730s
MB/S P0:CPU P1:BPU P2:VIN P3:CODEC P4:GPU SUM
Read : 0 0 0 13 0 13
Write: 0 0 77 0 0 77
Time 3546.740s
MB/S P0:CPU P1:BPU P2:VIN P3:CODEC P4:GPU SUM
Read : 31 0 334 14 0 379
Write: 19 0 383 0 0 402
Time 3546.750s
MB/S P0:CPU P1:BPU P2:VIN P3:CODEC P4:GPU SUM
Read : 342 0 563 14 0 919
Write: 323 0 607 0 0 930
Time 3546.760s
MB/S P0:CPU P1:BPU P2:VIN P3:CODEC P4:GPU SUM
Read : 40 0 0 518 0 558
Write: 10 0 0 271 0 281
结果解析:
Time:表示当前采样时间。
Read 和 Write:分别表示 DDR 的读操作和写操作的带宽信息。
P0:CPU、 P1:BPU 等:表示不同端口的带宽值,单位为 MB/s。
SUM:表示所有端口的总带宽。
监控特定端口的 DDR 带宽
命令:
hrut_ddr -t cpu
功能:
仅监控 CPU 端口的 DDR 带宽信息。
打印输出:
root@buildroot:/userdata/gmsl_test# hrut_ddr -t cpu
port_type:CPU
DDR type is: LPDDR4
Set sample period:10ms, 100 samples per seconds
Time 4521.998s P0:CPU SUM MB/S
Read : 20 638
Write: 17 689
Time 4522.008s P0:CPU SUM MB/S
Read : 359 845
Write: 331 747
以原始数据格式显示详细信息
命令:
hrut_ddr -t all -r
功能:
以原始数据格式显示所有 DDR 端口的详细信息,包括延迟、命令数等。
打印输出:
root@buildroot:/userdata/gmsl_test# hrut_ddr -t all -r
port_type:ALL
DDR type is: LPDDR4
Set sample period:10ms, 100 samples per seconds
Time 4651.868s
Read :
CPU (bw: 17 cmd_num: 0 max_lantency: 1679 min_lantency: 50 cmd_accomulative_latency: 253955 stop_ost: 2)
BPU (bw: 0 cmd_num: 0 max_lantency: 0 min_lantency: 0 cmd_accomulative_latency: 0 stop_ost: 0)
VIN (bw: 0 cmd_num: 0 max_lantency: 0 min_lantency: 0 cmd_accomulative_latency: 0 stop_ost: 0)
CODEC(bw: 11 cmd_num: 0 max_lantency: 2147 min_lantency: 71 cmd_accomulative_latency: 2415530 stop_ost: 0)
GPU (bw: 0 cmd_num: 0 max_lantency: 0 min_lantency: 0 cmd_accomulative_latency: 0 stop_ost: 0)
Write:
CPU (bw: 6 cmd_num: 0 max_lantency: 86 min_lantency: 8 cmd_accomulative_latency: 9142 stop_ost: 0)
BPU (bw: 0 cmd_num: 0 max_lantency: 0 min_lantency: 0 cmd_accomulative_latency: 0 stop_ost: 0)
VIN (bw: 0 cmd_num: 0 max_lantency: 0 min_lantency: 0 cmd_accomulative_latency: 0 stop_ost: 0)
CODEC(bw: 0 cmd_num: 0 max_lantency: 0 min_lantency: 0 cmd_accomulative_latency: 0 stop_ost: 0)
GPU (bw: 0 cmd_num: 0 max_lantency: 0 min_lantency: 0 cmd_accomulative_latency: 0 stop_ost: 0)
Time 4651.878s
结果解析:
bw:表示带宽值,单位为 MB/s。
cmd_num:表示命令总数。
max_latency 和 min_latency:表示最大和最小延迟。
cmd_accomulative_latency:表示累积延迟。
stop_ost:表示停止时的时钟周期数。
设置采样周期
命令:
hrut_ddr -t all -p 100
功能:
设置采样周期为 100 毫秒,并监控所有 DDR 端口的带宽信息。
打印输出:
root@buildroot:/userdata/gmsl_test# hrut_ddr -t all -p 100
port_type:ALL
DDR type is: LPDDR4
Set sample period:100ms, 10 samples per seconds
Time 4942.393s
MB/S P0:CPU P1:BPU P2:VIN P3:CODEC P4:GPU SUM
Read : 42 0 90 64 0 196
Write: 35 0 118 28 0 181
Time 4942.493s
MB/S P0:CPU P1:BPU P2:VIN P3:CODEC P4:GPU SUM
Read : 39 0 90 64 0 193
Write: 33 0 118 28 0 179
Time 4942.593s
MB/S P0:CPU P1:BPU P2:VIN P3:CODEC P4:GPU SUM
Read : 38 0 90 64 0 192
Write: 32 0 118 28 0 178