news 2026/4/18 7:21:57

【瑞芯微平台实时Linux方案系列】第二十六篇 - 瑞芯微平台实时Linux系统性能测试方案

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【瑞芯微平台实时Linux方案系列】第二十六篇 - 瑞芯微平台实时Linux系统性能测试方案

一、简介:为什么必须“测过”才能量产?

  • 背景:瑞芯微 RK3568/RK3588 凭借四核 A55+A76、PCIe 3.0、ISP 2.0,已成为国产边缘视觉盒子、PLC 控制器首选 SOC。

  • 痛点:官方 SDK 默认 Android/Linux 内核非实时,打 PREEMPT_RT 补丁后,延迟、抖动、CPU 负载、IO 吞吐到底好不好?没有数据,甲方不敢签字。

  • 价值:本文给出标准化测试流程 + 脚本模板 + 结果判据,30 分钟生成 PDF 报告,直接用于 SIL/PL 认证审厂,缩短客户导入周期 20 天。


二、核心概念:5 个指标看懂实时性能

指标定义合格线(工业 SIL2)工具
最大延迟 (Max Latency)中断到任务唤醒最长时间≤ 100 μscyclictest
调度延迟 (Sched Latency)任务就绪→获得 CPU 时间≤ 50 μsperf sched
CPU 负载满负荷下 idle < 5%稳定无掉核top / mpstat
IO 吞吐SATA/SSD 连续写≥ 400 MB/sfio
网络抖动1 Gbps 满负载 64 Byte 帧≤ 10 μsnetperf

三、环境准备:10 分钟搭好“瑞芯微性能实验室”

1. 硬件

  • RK3568 核心板(4×A55@1.8 GHz)或 RK3588 开发板(4×A76+4×A55@2.4 GHz)

  • 散热片+风扇(持续压测 CPU 80 ℃ 以上)

  • SSD(M.2 SATA/NVMe)+ 千兆网线 + 串口线(115200)

2. 软件

组件版本获取方式
实时内核linux-5.10.y-rt52瑞芯微 github 分支
Buildroot2022.02.x官方 bsp
测试套件rt-tests 2.4、fio 3.28、netperf 2.7.0下文一键编译
报告模板LibreOffice Writer导出 PDF

3. 一键编译 rt-tests(可复制)

#!/bin/bash # build_rt_tests.sh git clone git://git.kernel.org/pub/scm/utils/rt-tests/rt-tests.git cd rt-tests make -j$(nproc) make install DESTDIR=$PWD/out tar -czf rt-tests.tar.gz -C out .

rt-tests.tar.gz拷贝到板子/opt/并解压即可。


四、应用场景:边缘视觉质检盒案例(300 字)

某食品厂部署 RK3568 边缘盒子,运行 YOLOv5 + PREEMPT_RT 内核,对传送带罐头进行实时缺陷检测。

  • 需求:检测周期 ≤ 25 ms(相机 40 fps),机械臂剔除延迟 ≤ 50 ms,全年停机 ≤ 8 h → 需 SIL 2 证书。

  • 挑战:AI 推理 15 ms,图像 DMA 5 ms,留给调度抖动 < 5 ms;若 Max Latency > 100 μs,累积到 25 帧周期即丢包。

  • 测试价值:用本文脚本每日自动跑 cyclictest + fio,生成 PDF 插入 MES 系统,向客户证明“实时性可追踪”,一次审厂通过。


五、实际案例与步骤:从“跑分”到“报告”全流程

所有脚本放/opt/rk-tests/,可直接chmod +x运行。


5.1 实时延迟测试:cyclictest

#!/bin/bash # run_cyclic.sh CPU_LIST="0-3" # 四核全压 DURATION=300s # 5 分钟 PRIORITY=95 echo "Starting cyclictest on RK3568..." taskset -c $CPU_LIST cyclictest -p$PRIORITY -m -Sp90 -i200 -d$DURATION -q > cyclic.log awk '/Max/ {print "Max Latency = "$3 " us"}' cyclic.log

结果判据
Max ≤ 100 μs 且 StdDev ≤ 10 μs → PASS。


5.2 调度性能:perf sched

#!/bin/bash # run_sched.sh echo "Recording 10 s sched events..." perf sched record -C 0-3 sleep 10 perf sched latency | tee sched.log # 提取最大调度延迟 awk '/sched_max/ {print $3}' sched.log

判据:sched_max ≤ 50 μs → PASS。


5.3 CPU 满载测试:stress-ng + mpstat

#!/bin/bash # run_cpu.sh stress-ng --cpu 4 --timeout 60s & mpstat -P ALL 1 60 > cpu.log # 检查 idle 均值 awk '/Average/ && $12 ~ /[0-9]/ {idle+=$12} END {print "Avg idle = " idle/4 "%"}' cpu.log

判据:Avg idle < 5% 且无明显掉核 → PASS。


5.4 IO 吞吐:fio(SATA SSD)

#!/bin/bash # run_fio.sh fio --name=write --ioengine=libaio --rw=write --bs=1M \ --size=4G --numjobs=4 --runtime=60 --time_based \ --direct=1 --group_reporting > fio.log awk '/WRITE/ && /BW=/ {print $5}' fio.log

判据:连续写 ≥ 400 MB/s → PASS。


5.5 网络抖动:netperf

#!/bin/bash # run_net.sh # PC 端作 server:netserver -p 12865 netperf -H <PC_IP> -t UDP_RR -l 60 -p 12865 -- -r 64 | tee net.log awk '/Latency/ {print $4}' net.log # 单位 us

判据:平均抖动 ≤ 10 μs → PASS。


5.6 一键综合脚本:生成 CSV+PDF

#!/bin/bash # run_all.sh ./run_cyclic.sh ./run_sched.sh ./run_cpu.sh ./run_fio.sh ./run_net.sh # 汇总到 csv echo "Test,Result,Unit" > result.csv echo "Max Latency,$(awk '/Max/ {print $3}' cyclic.log),us" >> result.csv echo "Sched Max,$(awk '/sched_max/ {print $3}' sched.log),us" >> result.csv echo "IO BW,$(awk '/WRITE/ && /BW=/ {print $5}' fio.log),MB/s" >> result.csv # 使用 LibreOffice 模板导出 PDF libreoffice --convert-to pdf --headless template.odt

PDF 含公司 Logo、日期、签名栏,直接附在出货报告中。


六、常见问题与解答(FAQ)

问题现象解决
cyclictest Max > 200 μs未关超线程 / 电源管理BIOS 关闭 Turbo、C-State;内核加nohz_full=1-3
fio 带宽低仅 150 MB/s确认 SATA 模式为 AHCI,换 NVMe SSD
netperf 报“connect failed”防火墙未放行iptables -F或放行 12865/udp
测试过程温升高核心 90 ℃ 降频加风扇,使用thermal_zone0/temp监控
结果波动大每次差 30%固定 CPU 频率:echo performance > scaling_governor

七、实践建议与最佳实践

  1. 每日自动化
    run_all.sh加入 crontab(凌晨 2 点),结果 push 到 GitLab Pages,客户扫码即可看。

  2. 温升与实时联合监控
    同时记录thermal_zone0/temp,建立“温度-延迟”散点图,提前发现散热瓶颈。

  3. 版本锁定
    测试报告首页注明:内核哈希、Buildroot 配置、工具链版本,确保复现。

  4. 故障注入复核
    每月人工插入一次echo c > /proc/sysrq-trigger看看 watchdog 能否在 100 ms 内重启。

  5. 可视化面板
    使用 Grafana + InfluxDB,把 cyclictest 每 1 s 的延迟时序入库,设置 Max>80 μs 告警。

  6. 分客户模板
    视觉质检、PLC、网关三类场景,分别保存template_vision.odttemplate_plc.odt,导出时 1 键切换。


八、总结:一张脑图带走全部要点

瑞芯微实时性能测试 ├─ 环境:RK3568/RK3588 + 5.10-rt + Buildroot ├─ 工具:cyclictest + perf + fio + netperf ├─ 指标:Max Latency≤100 μs, IO≥400 MB/s, Jitter≤10 μs ├─ 脚本:一键 run_all.sh → CSV → PDF └─ 落地:每日自动化 + Grafana 大屏 + 客户审厂

测过,才敢卖;有报告,才有钱。
把本文脚本 clone 到你的 RK 板子,今晚就跑第一次全项测试,明天把 PDF 甩给客户——国产芯 + 实时 Linux,一样可以做到毫秒级、可量产、可认证!祝你测试顺利,性能一路狂飙。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/18 3:27:16

非结构化数据怎么处理

在数字化转型浪潮中&#xff0c;一个令人惊讶的事实是&#xff1a;企业约70%-80%的数据以PDF、扫描件、图像、合同、财报等非结构化形式存在。这些散落在各个角落的文档、图片、音视频&#xff0c;承载着巨大的商业价值&#xff0c;却因格式多样、布局复杂而长期处于沉睡状态。…

作者头像 李华
网站建设 2026/4/18 4:39:18

消防安全科普设备|厨房安全隐患查找系统

随着现代家庭生活的智能化与多样化&#xff0c;厨房在带来便捷生活的同时&#xff0c;也成为火灾频发的高风险区域。燃气泄漏、电器老化、操作不当等问题&#xff0c;常常是家庭火灾事故的主要诱因。因此&#xff0c;加强公众对厨房安全隐患的识别与防范能力&#xff0c;成为消…

作者头像 李华
网站建设 2026/4/16 19:59:06

人工智能算法与应用场景介绍

人工智能是以机器为载体展现的人类智能&#xff0c;核心具备视觉感知、语言交流、推理求解、协同控制、伦理遵守和数据归纳等能力。其主要算法包括逻辑推理、探寻搜索、机器学习、强化学习和群体智能等&#xff0c;各有独特特点。与人类智能相比&#xff0c;机器智能在自学习方…

作者头像 李华
网站建设 2026/4/10 14:05:03

OpenGL编程指南第七版:图形开发实战与原理深度解析

作为一位长期使用OpenGL进行图形开发的工程师&#xff0c;我认为《OpenGL编程指南&#xff08;第七版&#xff09;》是一本至关重要的核心工具书。它不仅系统阐述了OpenGL API的规范与原理&#xff0c;更重要的是&#xff0c;它提供了大量经过验证的、可直接用于生产环境的实用…

作者头像 李华
网站建设 2026/4/16 9:17:12

计算机毕业设计之springboot基于微信小程序的高校考研系统的设计与实现

疫情爆发以来&#xff0c;越来越多的用户借助于移动手机、电脑完成生活中的事务&#xff0c;许多的传统行业也更加重视与互联网的结合。本论文探讨利用不断发展和进步的网络技术&#xff0c;实现对个人信息修改、用户、真题下载、题目类别、考研资料、科目类别、资料分类等主要…

作者头像 李华