抖动仅 7us !RK3576 实时性测试报告

2026-07-16
来源:

CPU6/7 隔离前后 cyclictest 最大延迟对比


平台:RK3576 / ARM64

实时核:CPU6-7

压力核:CPU0-5

测试日期:2026-07-07

核心结论:CPU6/7 隔离后,两组 30 分钟压力测试的最大延迟分别为 9 us7 us,均保持在 10 us 以下。

图 1 CPU6/7 隔离前后 cyclictest 最大延迟


1、结论摘要

混合压力:隔离后 CPU6/7 最大延迟均为 9 us,较隔离前分别下降 93.6% 和 95.4%。

重压力:隔离后 CPU6/7 最大延迟均为 7 us,较隔离前分别下降 95.0% 和 96.4%。

测试完成:两组隔离测试均运行 1,800,000 个周期,stress-ng 压力任务均正常完成。

2、CPU 分配与测试配置

图 2 CPU0-5 承担压力负载,CPU6-7 运行实时线程



配置项测试设置
实时核CPU6-7,运行 cyclictest 实时线程
压力核CPU0-5,运行 stress-ng 压力任务
内核启动参数isolcpus=domain,managed_irq,6-7 rcu_nocbs=6-7 irqaffinity=0-5
隔离状态/sys/devices/system/cpu/isolated 输出 6-7
cyclictest 参数2 个线程,优先级 90,周期 1000 us
隔离测试时长每组 30 分钟,共 1,800,000 个周期


2.1压力场景

混合压力:

将 stress-ng 压力任务绑定到 CPU0-5,持续运行 30 分钟;启动 6 个 CPU worker、2 个 VM worker、4 个 IO worker和 2 个 HDD worker。压力任务于 1800.33 秒正常完成。  


重压力:

将 stress-ng 压力任务绑定到 CPU0-5,持续运行 30 分钟;启动 6 个 CPU worker、3 个 VM worker、4 个 IO worker、2 个 HDD worker和 16 个 fork worker。压力任务于 1802.35 秒正常完成。  


3、最大延迟对比

对比口径统一取 CPU6/7 的 cyclictest 最大延迟。隔离前为 10 分钟混合压力测试,隔离后为两组 30 分钟压力测试。


CPU 状态压力场景时长CPU6 MaxCPU7 Max
未隔离混合压力10 分钟141 us194 us
CPU6/7 隔离混合压力30 分钟9 us9 us
CPU6/7 隔离重压力30 分钟7 us7 us


3.1 隔离测试结果

混合压力 30 分钟

CPU6 P:90 I:1000 C:1800000 Avg:0 Max:9 usCPU7 P:90 I:1000 C:1800000 Avg:0 Max:9 usstress-ng completed in 1800.33s


重压力 30 分钟

CPU6 P:90 I:1000 C:1800000 Avg:0 Max:7 usCPU7 P:90 I:1000 C:1800000 Avg:0 Max:7 usstress-ng completed in 1802.35s


3.1 隔离测试结果

CPU6/7 隔离配置已生效。在 CPU0-5 持续承受混合压力和重压力时,CPU6/7 的 cyclictest 最大延迟稳定在 7-9 us,均低于 10 us。

与隔离前 CPU6/7 的 141 us 和 194 us 最大延迟相比,隔离后的最大延迟下降 93.6%-96.4%。测试结果表明,将 CPU6/7 作为实时核能够显著降低实时线程的调度延迟。


评论或私信“实时性能”

发送PDF版本





分享
下一篇:这是最后一篇
上一篇:这是第一篇