飞凌AM335x平台实时操作系统LinuxRT性能测试
来源:互联网 发布:淘宝可以申请几个小号 编辑:程序博客网 时间:2024/06/10 19:07
日前获知飞凌嵌入式的AM335x开发板已经移植Linux-RT实时操作系统成功,那这个操作系统的内核延迟是多少呢?性能怎么样?下面来做个简单的测试。
工具准备:OK335xD开发板 (www.forlinx.com/2.htm)
LINUX-RT实时操作系统镜像(咨询飞凌客服)
Cyclictest测试程序(光盘资料)
OK335xD开发板如何烧写时操作系统镜像请参考飞凌提供的手册,比较简单,就不做赘述了。
Cyclictest,看名字应该就能大致猜出来它是一种Test程序,Cyclictest是一个高精度的测试程序,是 RT-Tests 下的一个测试工具,也是RT-Tests 下使用最广泛的测试工具,一般主要用来测试使用内核的延迟,从而判断内核的实时性。
实时性通过Cyclictest测试。压力环境通过HackBench提供,它不断的进行进程间通信以及进程的创建,提高系统负载。信号可以将测试过程挂起,这种情况下延迟随挂起时间变化。针对系统延迟测试过程中,不要引入其它条件的变化,比如向终端输送信号等操作。关于其它条件对实时的影响各位可单独测试。
无压力环境下测试:
# cyclictest -m -n -p99 -i800 -l100000 -q
-m 锁定内存
-n 用nanosleep
-p99 实时进程优先级
-i800 休眠间隔800us (不要低于800)
-l10000 10万次循环测试,循环次数越多,需要的时间越长
压力环境下测试:
先运行HackBench提供压力,在运行Cyclictest。在运行HackBench后,因CPU负载过高,会出现串口以及界面反应慢的情况。压力环境仅作为一种极限测试,这个环境会对一般优先级进程的调度时间轮转变长,建议不要在压力过程中测试除RT性能以外测试。
#hackbench -l -1 -g 15 -f 25 –P &
# cyclictest -m -n –p80 -t1 –i800
Ctrl+C停止Cyclictest测试,停止测试后HackBench仍然在后台运行。
输出结果含义:
T: 0 序号为0的线程
P: 0 线程优先级为0
C: 9397 计数器。线程的时间间隔每达到一次,计数器加1
I: 1000 时间间隔为1000微秒(us)
Min: 最小延时(us)
Act: 最近一次的延时(us)
Avg:平均延时(us)
Max: 最大延时(us)
无压力下测试数据结果如下:
T: 0 (1109) P:99 I:800 C:100000 Min: 6 Act:11 Avg:10 Max: 22
压力下测试数据结果如下:
T: 0 (1866) P:99 I:800 C:3770549 Min: 9 Act:23 Avg:21 Max: 46
测试结果会发现压力测试下系统的延迟性较无压力下的延迟明显较大。后与飞凌公司的技术支持沟通,他们做过长时间的实测,任务切换时间可达500μs,任务切换延迟在负载状态下最大仅100μs。
- 飞凌AM335x平台实时操作系统LinuxRT性能测试
- 嵌入式实时操作系统性能测试方法研究
- 入式实时操作系统性能测试方法研究
- AM335x GPMC NAND时序计算和读写性能测试
- 操作系统支持实时中间件CORBA的性能
- 实时操作系统的各项实时性能评测指标
- [转载]提高实时操作系统的实时性能和可靠性策略
- 实时大数据处理性能瓶颈的测试
- AM5728/AM57xx RT-LINUX 实时性能测试
- ios性能测试-实时查看内存/cpu
- 实时系统性能测试指标及方法
- 购物平台性能测试模版
- ARM嵌入式平台性能测试
- ARM嵌入式平台性能测试
- QNX系统的实时性分析-实时性能测试标准
- linux 启动脚本调用顺序(测试平台 AM335X-ARM A9)
- 实时操作系统
- 实时操作系统
- Spring技术内幕——深入解析Spring架构与设计原理(三)数据库的操作实现
- Windows客户端开发技能树
- maven在不同环境下打包
- MongoDB入门(一)
- Java 8 中的 Streams API Demo
- 飞凌AM335x平台实时操作系统LinuxRT性能测试
- C/C++的四大内存分区
- 队列ALDS1_3-B:Queue
- 【JAVA】常用正则表达式
- java编程——吸血鬼数字(四位)
- c#非托管资源的回收
- Spring技术内幕——深入解析Spring架构与设计原理(四)Web MVC的实现
- P1996 约瑟夫问题
- java List(分割)分批处理