Cyclictest
是 rt-tests 下的一个测试工具,也是rt-tests 下使用最广泛的测试工具,一般主要用来测试使用内核的延迟,从而判断内核的实时性。
编译安装
sudo apt-get install build-essential libnuma-dev make
运行测试
要在每个CPU或每个CPU核心上运行一个测试线程,请输入以下命令
sudo ./cyclictest -a -t -n -p99
在非实时系统中,您可能会看到类似的内容
T: 0 ( 3431) P:99 I:1000 C: 100000 Min: 5 Act: 10 Avg: 14 Max: 39242 T: 1 ( 3432) P:98 I:1500 C: 66934 Min: 4 Act: 10 Avg: 17 Max: 39661
最右边的列包含最重要的结果,即最坏情况下的延迟为39.242毫秒。在启用实时的系统上,结果可能如下所示
T: 0 ( 3407) P:99 I:1000 C: 100000 Min: 7 Act: 10 Avg: 10 Max: 18 T: 1 ( 3408) P:98 I:1500 C: 67043 Min: 7 Act: 8 Avg: 10 Max: 22
因此,表示短期最坏情况下的延迟为18微秒。
只在短时间内运行cyclictest,而不创建适当的实时压力条件,这是非常没有意义的,因为从空闲状态执行异步事件通常总是非常快,而且每个—甚至非rt系统—都可以做到这一点。所面临的挑战是,无论外部事件到达时执行的代码路径是什么,都要尽量减少响应异步事件时的延迟。因此,在循环测试运行时必须存在特定的应力条件,以可靠地确定给定系统的最坏情况延迟。
您知道哪些好用的Linux 实时性能测试工具,欢迎评论分享,共同探讨学习
如果觉得文章能够对您有所帮助,可以关注我,你的支持会鼓励我不断分享更多更好的优质文章。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。