3.5. 压力测试实时虚拟化系统
要确保 RHEL for Real Time 主机或客户机在负载过重时设置了低延迟,请执行实时延迟测试。
先决条件
- 您已在 GitHub 上设置了 帐户,并可克隆存储库。
-
您已为实时虚拟机主机配置了
tuned
。具体步骤请参阅 为实时虚拟化主机配置 TuneD。 - 您已设置了用于实时虚拟化的巨页。具体步骤请参阅 为实时虚拟化主机配置巨页。
流程
为内务核心增加压力。为此,请在上几节中设置的内务内核数上开始编译 linux 内核。
克隆 Linux 内核存储库并移动到其目录中。
git clone https://github.com/torvalds/linux.git ; cd linux
# git clone https://github.com/torvalds/linux.git ; cd linux
Copy to Clipboard Copied! 为内核编译创建默认配置。
make defconfig
# make defconfig
Copy to Clipboard Copied! 开始编译 Linux 内核。
while true; do make -j <double-number-of-housekeeping-cpus> && make clean; done
# while true; do make -j <double-number-of-housekeeping-cpus> && make clean; done
Copy to Clipboard Copied!
在主机上执行
cyclictest
步骤 12 小时。在以下示例中,将 < ;list_isolated_cores& gt; 替换为为实时任务隔离的内核列表,如1,3,5,7,9,11,13,14,15
。cyclictest -m -q -p95 --policy=fifo -D 12h -h60 -t <number_of_isolated_cpus> -a <list_isolated_cores> -mainaffinity <list_housekeeping_cpus> -i 200
# cyclictest -m -q -p95 --policy=fifo -D 12h -h60 -t <number_of_isolated_cpus> -a <list_isolated_cores> -mainaffinity <list_housekeeping_cpus> -i 200
Copy to Clipboard Copied! 当使用现代高端 AMD64 或 Intel 64 处理器(也称为
x
86_64)时,输出中的Max Latencies
的最佳值是 40 微秒(5-6s)。要终止测试,如果测量的延迟超过 405-4,请在命令中添加-b 40
选项。在主机上执行 OS 级别延迟测试(OSLAT),时间为 12 小时。
./oslat --cpu-list <list_isolated_cores> --rtprio 1 --D 12h -w memmove -m 4K
# ./oslat --cpu-list <list_isolated_cores> --rtprio 1 --D 12h -w memmove -m 4K
Copy to Clipboard Copied! 使用现代高端
x86_64
处理器时,输出中的最佳值是 20 HEKETIs。要终止测试,测量的延迟是否超过 20 个,请在命令中添加
-T 20
选项。