RV1126B NPU 温度限频实测记录
测试目的
验证运行中的 rockchip,temp-freq-table 是否会在温度升高后限制 NPU 频率。
运行中温度表
50000:600000 kHz
60000:510000 kHz
70000:396000 kHz
压测命令
stress-ng --cpu 4 --cpu-method loop --timeout 600s &
rknn_common_test /usr/share/model/RV1126B/mobilenet_v1.rknn \
/usr/share/model/dog_224x224.jpg 100000 >/dev/null 2>&1 &
采样周期为 2 秒,记录 cpu-thermal 温度、NPU cur_freq 和 RKNPU 负载。
结果
| 项目 | 结果 |
|---|---|
| NPU 负载 | 约 95% |
| 最高温度 | 59.820°C |
| 触发档位 | 温度超过 50°C 后限制为 600 MHz |
| NPU 实际频率 | 600 MHz |
| 判定 | 273 个触发样本全部 PASS,fail=0 |
结论:NPU 温度限频已生效。温度超过 50°C 后,NPU 从 800 MHz 限制到 600 MHz;温度稳定在约 58~60°C,未达到 60°C,因此本轮未覆盖 510 MHz 和 396 MHz 两档。
原始日志保存在板端:
/tmp/npu-cpu-1609504051.log
rknn_common_test 首轮 100000 次推理完成后重新启动了一轮,日志中有一小段 NPU 负载为 0% 的间隙。
性能监控脚本
脚本位置:
/home/user/workspace/docs/private-docs/Engineering/Linux内核/RV1126B/monitor_rv1126b_performance.sh
记录温度、NPU 频率/负载、各 CPU 当前频率:
hadb -s <板卡序列号> push \
/home/user/workspace/docs/private-docs/Engineering/Linux内核/RV1126B/monitor_rv1126b_performance.sh \
/tmp/monitor_rv1126b_performance.sh
hadb -s <板卡序列号> shell \
'sh /tmp/monitor_rv1126b_performance.sh -d 600 -i 2'
默认日志为 /tmp/rv1126b-performance.log。