創龍首頁 >關于創龍 > 新聞資訊 > 技術文章

聯系我們

Contact Us

公司總機:020-8998-6280

技術熱線:020-3893-9734

技術郵箱:support@tronlong.com

銷售郵箱:sales@tronlong.com

延時僅33us,Linux-RT實時性能測試分享—基于瑞芯微RK3562J國產平臺

2024/08/13

本文主要介紹瑞芯微RK3562J的實時性測試,開發環境如下:

U-Boot:U-Boot-2017.09

Kernel:Linux-RT-5.10.198

LinuxSDK:

LinuxSDK-[版本號]

(基于RK3562_LINUX_SDK_RELEASE_V1.1.0_20231220)


RK3562J實時性測試數據


本文使用Cyclictest延遲檢測工具測試Linux系統實時性,分別在CPU空載、滿負荷(運行stress壓力測試工具)、滿負載-隔離CPU3核心(運行stress壓力測試工具)三種情況下運行指令測試12小時。



圖 1 RK3562J實時性測試數據


根據3種狀態的測試結果可知,當程序指定至隔離的CPU3核心上運行時,Linux系統延遲最低,可有效提高系統實時性。故推薦對實時性要求較高的程序(功能)指定至隔離的CPU核心運行。


RK3562J典型應用領域



圖 2


Cyclictest系統實時性測試


本文通過創龍科技TL3562-EVM工業評估板(基于RK3562J)的硬件平臺進行演示。為了簡化描述,本文僅摘錄部分方案功能描述與測試結果,詳細產品資料請掃描文末二維碼下載。

本次測試以隔離CPU3核心為例,通過降低系統上所運行的其他進程對隔離CPU3產生的延遲影響,確保CPU3進程的正常運行,進而評估Linux-RT內核的系統實時性。

評估板上電啟動后,在U-Boot倒計時結束之前按下空格鍵進入U-Boot命令行模式,執行如下命令,修改環境變量,隔離CPU3核心。

U-Boot#setenv bootargs storagemedia=sd androidboot.storagemedia=sd androidboot.mode=normal isolcpus=3

U-Boot#saveenv

U-Boot#reset



圖 3


評估板重啟后,執行如下命令,查看環境變量。

Target#cat /proc/cmdline



圖 4


進入評估板文件系統,執行如下命令,修改內核printk日志等級,避免內核打印信息影響實時測試。

Target#echo 1 > /proc/sys/kernel/printk

調整內存分配策略為“2”,禁用內存過度使用。避免出現OOM(Out-of-Memory) Killer攻擊某些進程而產生延遲,影響測試結果。

Target#echo 2 > /proc/sys/vm/overcommit_memory



圖5


執行如下命令,運行stress壓力測試工具,使得CPU處于滿負荷狀態。再使用taskset工具將Cyclictest測試程序運行在CPU3核心,測試CPU3核心滿負荷狀態下的系統實時性能。測試指令需運行12小時,請保持評估板長時間穩定工作,測試完成后將生成統計結果iso_overload_output文件。

Target#stress-ng --cpu 4 --cpu-method=all --io 4 --vm 4 --vm-bytes 64M --timeout 43200s &

Target#taskset -c 0-3 cyclictest -m -Sp99 -i1000 -h800 -D12h -q > iso_overload_output



圖 6


對測試結果文件的數據進行分析,使用腳本生成直方圖,得到隔離CPU核心狀態下的統計結果如下所示。本次測試中,CPU1核心Max Latencies值最大,為244us,隔離CPU3核心的Max Latencies值最小,為33us。



圖7



表 1



更多瑞芯微RK3562J全國產工業核心板產品資料可長按二維碼識別下載


更多瑞芯微RK3562J全國產工業核心板產品咨詢可添加如下客服人員微信進行溝通


(即刻添加,馬上咨詢)

如需選購瑞芯微RK3562J工業核心板,歡迎登錄創龍科技天貓旗艦店:tronlong.tmall.com
瑞芯微RK3562J技術交流群:567208221,歡迎加入!



創龍官方微信公眾號

Copyright © 2013~2025 廣州創龍電子科技有限公司 All Rights Reserved  | 粵ICP備15055271號