延迟7us、满载抖动10 us,RK3576实时性超乎你的想象
前言:在工业控制、智能设备等领域,处理器的实时性表现直接决定了设备的响应速度与运行稳定性。眺望电子基于RK3576评估板,通过RT补丁实现微秒级精准响应,延迟7us、满载抖动<10 us的实测数据证明它的硬核实力!
一、测试环境
1.1 RK3576 核心板介绍
本次测试的主角是Core-RK3576J V1.1 核心板,搭载 Rockchip 新一代旗舰 RK3576 处理器:
-
先进 8nm 制程工艺,4核 Cortex-A72+4 核 Cortex-A53 架构,主频高达 2.2GHz;
-
核心板采用高速板对板连接器,集成处理器、LPDDR4、EMMC、PMIC等关键器件。

图 1 Core-RK3576核心板正反面图
1.2 测试步骤
步骤 1:运行实时性测试程序
在评估板终端输入指令,执行 100 万次循环测试,记录任务调度延迟数据:
root@rk3576-ubuntu:/# cyclictest -l 1000000 -m -Sp99 --policy=fifo -h 25000 -q > 测试结果文件
- 参数解析:-l 1000000(测试 100 万次)、-m(锁定内存,避免交换影响)、-Sp99(任务优先级 99)、--policy=fifo(FIFO 调度策略)、-h 25000(迭代间隔 25 微秒)。
步骤 2:模拟 CPU 压力(负载测试场景)
使用 stress-ng 工具让 CPU 满载运行,模拟高负载环境:
root@rk3576-ubuntu:/# stress-ng -c 8 --cpu-method fft --timerfd-freq 1000000 -t 24h &
- 参数解析:-c 8(占用 8 核 CPU)、--cpu-method fft(用 FFT 算法模拟负载)、-t 24h(持续 24 小时)。
步骤 3:数据可视化与分析
将测试结果文件传输至 Ubuntu 系统,使用 gnuplot 生成延迟分布图,直观呈现实时性表现:
# 安装可视化工具
sudo apt install gnuplot -y
# 运行脚本生成图表
./rt_createpng.sh 测试结果文件 输出图表.png
二、指令解析
2.1 cyclictest指令
cyclictest是一个用于测试系统中周期性任务调度的工具。它可以测量系统在不同负载下的实时性能,并提供有关任务调度延迟和抖动的信息。
root@rk3576-ubuntu:/#cyclictest -l 1000000 -m -Sp99 --policy=fifo -h 25000 -q >output-rk3576-nort
参数解析:
-
-l 1000000:指定测试运行的迭代次数为1000000次
-
-m:启用内存锁定,以避免测试过程中的内存交换影响实时性
-
-Sp99:设置测试任务的优先级为99
-
--policy=fifo:设置测试任务的调度策略为FIFO(先进先出)
-
-h 25000:设置每个测试迭代之间的延迟时间为25000纳秒(25微秒)
-
-q:禁止输出额外的信息,只输出测试结果
-
&& tail -n 11 output-cpu-rt:在cyclictest测试完毕后打印最后的总结数据
2.2 stress-ng指令
stress-ng是一个用于模拟系统负载的工具,可以测试系统的稳定性和性能
root@rk3576-ubuntu:/#stress-ng -c 4 --cpu-method fft --timerfd-freq 1000000 -t 24h &
参数解析:
-
-c 4:表示使用4个CPU核心进行测试
-
–cpu-method fft:指定使用FFT算法进行CPU负载测试
-
–timerfd-freq 1000000:设置定时器频率为1000000,用于控制测试的时间间隔。
-
-t 24h:设置测试时间为24小时
-
&:在后台运行该命令
三、数据实测
我们分别在无 preempt-rt 补丁和打 preempt-rt 补丁两种场景下,测试了 “空载”和 “CPU 满载”(8 核高负载)状态的实时性,操作如下:
3.1 未打入RT实时补丁
3.1.1 空载运行测试
在终端输入如下指令进行测试:
root@rk3576-ubuntu:/#cyclictest -l 1000000 -m -Sp99 --policy=fifo -h 25000 -q >output-kong-nort
root@rk3576-ubuntu:/# tail -n 11 output-kong-nort

图 3-1 实时性测试(nort-空载)
生成数据统计图如下:

图 3-2CPU实时性数据统计图(nort-空载运行)
3.1.2 CPU压力测试
使用FFT算法对CPU进行负载测试:
root@rk3576-ubuntu:/#stress-ng -c 8 --cpu-method fft --timerfd-freq 1000000 -t 24h &
root@rk3576-ubuntu:/#cyclictest -l 1000000 -m -Sp99 --policy=fifo -h 25000 -q >output-cpu-nort
root@rk3576-ubuntu:/#tail -n 11 output-cpu-nort

图 3-3 实时性测试(nort-CPU满载)
生成数据统计图如下:

图 3-4 CPU实时性数据统计图(nort-满载运行)
3.2 打入RT实时补丁
3.2.1 空载运行
在终端输入如下指令进行测试:
root@rk3576-ubuntu:/# cyclictest -l 1000000 -m -Sp99 --policy=fifo -h 25000 -q > output-kong-rt
root@rk3576-ubuntu:/# tail -n 12output-kong-rt


图 3-5 实时性测试(rt-空载)
生成数据统计图如下:

图 3-6 CPU实时性数据统计图(rt-空载运行)
3.2.2 CPU压力测试
使用FFT算法对CPU进行24小时负载测试:
root@rk3576-ubuntu:/#stress-ng -c 8 --cpu-method fft --timerfd-freq 1000000 -t 24h &
root@rk3576-ubuntu:/#cyclictest -l 1000000 -m -Sp99 --policy=fifo -h 25000 -q >output-cpu-rt
root@rk3576-ubuntu:/#tail -n 11 output-cpu-rt


图 3-7 实时性测试(rt-CPU满载)
生成数据统计图如下:

图 3-8 CPU实时性数据统计图(rt-满载运行)
3.3 数据对比
3.3.1 不打 preempt-rt 补丁
|
测试场景 |
CPU 核心 |
最小延迟(us) |
平均延迟(us) |
最大延迟(us) |
|
空载 |
CPU0 |
5 |
24 |
851 |
|
空载 |
CPU1 |
4 |
25 |
1004 |
|
空载 |
CPU2 |
6 |
27 |
14788 |
|
空载 |
CPU3 |
5 |
27 |
330 |
|
空载 |
CPU4 |
3 |
19 |
113 |
|
空载 |
CPU5 |
3 |
18 |
895 |
|
空载 |
CPU6 |
3 |
18 |
8049 |
|
空载 |
CPU7 |
3 |
18 |
8506 |
|
满载 |
CPU0 |
8 |
23 |
5368 |
|
满载 |
CPU1 |
8 |
21 |
115 |
|
满载 |
CPU2 |
11 |
22 |
4951 |
|
满载 |
CPU3 |
11 |
23 |
141 |
|
满载 |
CPU4 |
3 |
6 |
410 |
|
满载 |
CPU5 |
3 |
5 |
384 |
|
满载 |
CPU6 |
3 |
5 |
408 |
|
满载 |
CPU7 |
3 |
5 |
599 |
结论:原生系统下,最大延迟普遍较高,空载时 CPU2 甚至达到 14788us(约 14.8ms),满载时 CPU0 最大延迟 5368us(约 5.4ms),实时性表现一般。
3.3.1 打 preempt-rt 补丁
|
测试场景 |
CPU 核心 |
最小延迟(us) |
平均延迟(us) |
最大延迟(us) |
|
空载 |
CPU0 |
0 |
0 |
7 |
|
空载 |
CPU1 |
0 |
0 |
3 |
|
空载 |
CPU2 |
0 |
0 |
4 |
|
空载 |
CPU3 |
0 |
0 |
4 |
|
空载 |
CPU4 |
0 |
0 |
3 |
|
空载 |
CPU5 |
0 |
0 |
3 |
|
空载 |
CPU6 |
0 |
0 |
4 |
|
空载 |
CPU7 |
0 |
0 |
3 |
|
满载 |
CPU0 |
1 |
1 |
11 |
|
满载 |
CPU1 |
1 |
1 |
5 |
|
满载 |
CPU2 |
1 |
1 |
4 |
|
满载 |
CPU3 |
1 |
1 |
4 |
|
满载 |
CPU4 |
0 |
0 |
8 |
|
满载 |
CPU5 |
0 |
0 |
5 |
|
满载 |
CPU6 |
0 |
0 |
5 |
|
满载 |
CPU7 |
0 |
0 |
6 |
结论:打补丁后,实时性大幅提升 —— 空载时所有核心最大延迟不超过 7us,满载时最大延迟仅 11us(CPU0),完全满足工业级实时响应需求。
总结
从测试数据可以清晰看出:
-
preempt-rt 补丁的关键作用:通过优化内核调度,RK3576 的最大延迟从毫秒级降至微秒级,实时性提升超 1000 倍;
-
高负载稳定性:即使在 8 核满载状态下,打补丁后的系统仍能保持极低延迟,确保设备在复杂场景下的可靠运行;
同时把“高性能 + 硬实时 + 低成本”拉满的方案不多,RK3576 算一个;无论是工业控制(需微秒级响应)、智能终端(需流畅交互)还是 AI 边缘计算(需高效任务调度),RK3576 都能胜任。
请关注眺望电子并联系我们,获取完整测试报告与软硬件设计参考资料,我们将竭诚为您服务!
更多推荐




所有评论(0)