测试实时linux系统,Linux下cyclictest的实时性测试

本文详细介绍了如何使用cyclictest测试实时Linux系统的性能。通过不同参数的设置,观察在无干扰和有干扰情况下,系统延迟的变化。测试结果显示,实时系统在AdvLinux3.0.2上表现优异,最小延迟在2~3微秒,最大不超过34微秒。文章还讨论了RT-Preempt Patch如何改进内核以降低延迟,并解释了实时系统中的延迟概念和重要性。
摘要由CSDN通过智能技术生成

一、测试命令./cyclictest –p 80 –t5 –n

1. 默认创建5个SCHED_FIFO策略的realtime线程,优先级80,运行周期是1000,1500,2000,2500,3000微秒,无干扰测试结果图:

由此可见在AdvLinux3.0.2实时系统,最小值在2~3微秒,平均值为9-11微秒,而最大值则分布在24-29微秒之间。

2.运行同样的测试,但是在运行这个测试的过程中引入更多的干扰,如将该设备与其它设备进行串口通信,则结果变为有干扰测试结果图:

引入串口通信过程,最大值为34us。没有出现AdvLinux3.0.2非实时系统下,最大值为1219微秒。

二、测试命令./cyclictest--smp -p95 -m

这一结果显示了Cyclictest工具运行在一个四核系统,在所有内存都锁定的情况下,每个内核运行一个测量线程,它们每一个SCHED_FIFO优先级是95,锁定内存分配。在测试的结果中,CPU0的最大延迟是33us,平均延迟是9us; CPU1的最大延迟是33us,平均延迟是9us; CPU2的最大延迟是32us,平均延迟是12us; CPU3的最大延迟是29us,平均延迟是13us.

cat /proc/cpuinfo查看系统是几核系统

三、测试命令./cyclictest -t1 -p 80 -n -i number  -l10000

图1

线程优先级为80,不同的时间间隔下的结果,其中,C:9397计数器。线程的时间间隔每达到一次,计数器加1

Min:最小时延(us);Act:最近一次的时延(us);Avg:平均时延(us);Max: 最大时延(us)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值