7.2.3 应用实时内核
RDKS100默认启用实时内核。实时内核是一种能够提供更加精确和可靠的响应时间的操作系统内核,通常用于对时间敏感性要求较高的应用程序,在机器人控制、工业自动化等应用场景使用较多。以下是启用和禁用实时内核的相关命令以及一些常见用途和测试方法。
实时性能测
当需要对实时内核的性能进行测试时,一个常用的性能测试工具是rt-tests,它包括了多个测试程序,可以用来测试实时内核的性能。以下是一个使用rt-tests进行性能测试的示例:
安装rt-tests工具
如果尚未安装rt-tests工具,可以使用以下命令进行安装:
sudo apt update
sudo apt install rt-tests
运行cyclictest测试
cyclictest测试是rt-tests中的一个常用测试,它用于评估系统的定时行为和响应时间。执行以下命令运行cyclictest测试:
sudo cyclictest -l50000000 -m -S -p90 -i200 -h400
这个命令将运行一个实时性能测试,其中:
-l50000000: 设置测试运行的循环次数。-m: 指cyclictest在测试期间将当前和接下来的内存通过mlock锁定,防止发生swap影响测试。-S: 指标准smp架构测试,所有的线程将使用相同的-a -t -n和优先级。-p90: 指定实时线程的优先级。-p90表示测试将在优先级 90 的实时调度类别中运行。-i200: 设置测试线程睡眠的时间。-h400: 测试完成后输出一个直方图,并输出延时小于指定值(400)微秒的次数统计。
测试结果将显示出系统的最小、最大和平均延迟,以及一些其他性能统计信息。