3.5. 压力测试实时虚拟化系统
要确保 RHEL for Real Time 主机或客户机在负载过重时设置了低延迟,请执行实时延迟测试。
先决条件
-
您已为实时虚拟机主机配置了
tuned。具体步骤请参阅 为实时虚拟化主机配置 TuneD。 - 您已设置了用于实时虚拟化的巨页。具体步骤请参阅 为实时虚拟化主机配置巨页。
流程
为内务核心增加压力。为此,请在上几节中设置的内务内核数上开始编译 linux 内核。
克隆 Linux 内核存储库并移动到其目录中。
# git clone https://github.com/torvalds/linux.git ; cd linux为内核编译创建默认配置。
# make defconfig开始编译 Linux 内核。
# while true; do make -j <double-number-of-housekeeping-cpus> && make clean; done
在主机上执行
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当使用现代高端 AMD64 或 Intel 64 处理器(也称为
x86_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使用现代高端
x86_64处理器时,输出中的最佳值是 20 HEKETIs。要终止测试,测量的延迟是否超过 20 个,请在命令中添加-T 20选项。