在使用RT补丁,跑应用时; 在rtlinux下,两个cpu,有个cpu的使用率才0% 在执行./cyclictest -t1 -p 80 -i 10000 -l 10000 这个的时候ACT是20左右,向系统中拖文件(网络传输拷贝),明显看到ACT变成30~40。
1.cyclictest是Linux系统中用于测试实时性能和响应时间的一个工具。它通过循环读取高精度计数器测试某个时间段内能执行的循环次数,从而反映出系统在没有其他任务干扰下的实时响应能力。
不同类型的应用运行可能会影响cyclictest的ACT(achieved cycle time)值: • CPU密集型任务:如视频编码解码,扫描转换等计算密集工作负载。这类任务长时间占用CPU会降低cyclictest获得的CPU时间片,ACT值会增加。 • 磁盘I/O任务:如大数据传输,日志记录等频繁读写磁盘的应用。磁盘I/O操作会优先抢占CPU时间,增加系统负载,影响cyclictest ACT。 • 网络I/O任务:如视频会议,文件上传下载等需要大量网络通信的应用。网络传输带来的中断请求同样会降低实时性能。 • 高优先级进程:如果系统中有一个或几个实时级优先级高于cyclictest的任务常驻系统,也会影响其ACT值。 • 重占用资源的服务:如系统日志收集ecc监控程序长期运行可能也会对实时测试产生一定干扰。 • 图形界面应用:带GUI的大型软件如浏览器需要频繁绘制界面会增加系统负载。
所以总体来说,CPU、磁盘、网络I/O密集以及高优先级的任务是影响cyclictest指标收集的主要因素。在测试期间需要尽量避免这些类型的应用 running。
2.建议把cyclictest和关键进程绑定在CPU1上运行,同时其他占CPU多的地方修改了一下,其他的在cpu0上运行。
|