前言:在工業控制、智能設備等領域,處理器的實時性表現直接決定了設備的響應速度與運行穩定性。眺望電子基于RK3576評估板,通過RT補丁實現微秒級精準響應,延遲7us、滿載抖動<10 us的實測數據證明它的硬核實力!
一、測試環境
1.1RK3576 核心板介紹
本次測試的主角是Core-RK3576J V1.1 核心板,搭載 Rockchip 新一代旗艦 RK3576 處理器:
圖?1? Core-RK3576核心板正反面圖
1.2測試步驟
步驟 1:運行實時性測試程序在評估板終端輸入指令,執行 100 萬次循環測試,記錄任務調度延遲數據:
root@rk3576-ubuntu:/# cyclictest -l1000000-m -Sp99 --policy=fifo -h25000-q > 測試結果文件
- 參數解析:-l 1000000(測試 100 萬次)、-m(鎖定內存,避免交換影響)、-Sp99(任務優先級 99)、--policy=fifo(FIFO 調度策略)、-h 25000(迭代間隔 25 微秒)。
步驟 2:模擬 CPU 壓力(負載測試場景)使用 stress-ng 工具讓 CPU 滿載運行,模擬高負載環境:
root@rk3576-ubuntu:/# stress-ng -c8--cpu-method fft --timerfd-freq1000000-t24h &
- 參數解析:-c 8(占用 8 核 CPU)、--cpu-method fft(用 FFT 算法模擬負載)、-t 24h(持續 24 小時)。
步驟 3:數據可視化與分析將測試結果文件傳輸至 Ubuntu 系統,使用 gnuplot 生成延遲分布圖,直觀呈現實時性表現:
# 安裝可視化工具sudo apt install gnuplot -y# 運行腳本生成圖表./rt_createpng.sh 測試結果文件 輸出圖表.png
二、指令解析
2.1cyclictest指令
cyclictest是一個用于測試系統中周期性任務調度的工具。它可以測量系統在不同負載下的實時性能,并提供有關任務調度延遲和抖動的信息。
root@rk3576-ubuntu:/#cyclictest -l1000000-m -Sp99 --policy=fifo -h25000-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.2stress-ng指令
stress-ng是一個用于模擬系統負載的工具,可以測試系統的穩定性和性能
root@rk3576-ubuntu:/#stress-ng -c4--cpu-method fft --timerfd-freq1000000-t24h &
參數解析:
- -c4:表示使用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 -l1000000-m -Sp99 --policy=fifo -h25000-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 -c8--cpu-method fft --timerfd-freq1000000-t24h &
root@rk3576-ubuntu:/#cyclictest -l1000000-m -Sp99 --policy=fifo -h25000-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 -l1000000-m -Sp99 --policy=fifo -h25000-q > output-kong-rt
root@rk3576-ubuntu:/# tail -n 12output-kong-rt


圖3-5實時性測試(rt-空載)生成數據統計圖如下:

圖3-6CPU實時性數據統計圖(rt-空載運行)3.2.2 CPU壓力測試使用FFT算法對CPU進行24小時負載測試:
root@rk3576-ubuntu:/#stress-ng -c8--cpu-method fft --timerfd-freq1000000-t24h &
root@rk3576-ubuntu:/#cyclictest -l1000000-m -Sp99 --policy=fifo -h25000-q >output-cpu-rt
root@rk3576-ubuntu:/#tail -n 11 output-cpu-rt


圖3-7實時性測試(rt-CPU滿載)生成數據統計圖如下:

圖3-8CPU實時性數據統計圖(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 都能勝任。請關注眺望電子公眾號并聯系我們,獲取完整測試報告與軟硬件設計參考資料,我們將竭誠為您服務!
-
工業控制
+關注
關注
38文章
1660瀏覽量
91497 -
核心板
+關注
關注
6文章
1397瀏覽量
32001 -
rk3576
+關注
關注
1文章
265瀏覽量
1546
發布評論請先 登錄
收藏!5?款?RK?芯片實時測試指令合集?+ RK3576?實測數據深度解讀
米爾RK3576和RK3588怎么選?-看這篇就夠了
RK3576 vs RK3588:為何越來越多的開發者轉向RK3576?
Mpp支持RK3576么
RK3576助力智慧安防:8路高清采集與AI識別
【作品合集】米爾RK3576開發板測評
360環視硬件平臺為什么推薦使用米爾RK3576開發板?
巡檢機器人落地攻略:RK3576驅動12路低延遲視覺
基于米爾RK3576的環視實時性方案解析
新品體驗 | RK3576開發板
RK3576單板發布倒計時:RK3399與RK3576對比
瑞芯微RK3576與RK3576S有什么區別,性能參數配置與型號差異解析
RK3576核心板/開發板RT-Linux系統實時性及硬件中斷延遲測試
延遲7us、滿載抖動10 us,RK3576實時性超乎你的想象
評論