Cyclictest是一个高精度的测试程序,Cyclictest 是 rt-tests 下的一个测试工具,也是rt-tests 下使用最广泛的测试工具,一般主要用来测试使用内核的延迟,从而判断内核的实时性。
安装Cyclictest
# 安装需要的numa库
# apt指令
sudo apt install libnuma-dev
# yum指令
yum install numactl-devel
git clone git://git.kernel.org/pub/scm/utils/rt-tests/rt-tests.git
cd rt-tests
make
sudo make install
Cyclictest计算延时的原理
程序会记录进程睡眠的开始时间t1而进程的实际睡眠时间时t2,但程序真正唤醒并运行的时间时t3。所以是t3-t2-t1得出的结果即为延时。
Cyclictest的使用
sudo cyclictest -m -S -p 80 -i 1000 -d 0
options | value |
-a N | 在处理器N上运行 |
-A USEC | 将线程唤醒对齐到特定的偏移量USEC |