4.2. 运行系统延迟测试
您可以运行 rteval
工具来测试负载中的系统实时性能。
先决条件
-
已安装
RHEL for Real Time
软件包组。 - 系统的 root 权限。
流程
运行
rteval
工具。# rteval
rteval
程序启动一个重量系统负载的SCHED_OTHER
任务。然后,它会测量每个在线 CPU 的实时响应。负载是循环中 Linux 内核树和hackbench
合成基准的并行创建。目标是让系统进入一个状态,每个内核始终都有一个要调度的作业。作业执行各种任务,如内存分配/免费、磁盘 I/O、计算任务、内存复制等。
当负载启动后,
rteval
会启动cyclictest
测量程序。该程序在每个在线内核上启动SCHED_FIFO
实时线程。然后,它会测量实时调度响应时间。每个测量线程都需要一个时间戳,睡眠间隔,然后在启动后使用另一个时间戳。测量延迟是
t1 -(t0 + i)
,这是实际生成时间t1
之间的差值值,以及第一个时间戳t0
以及 sleep 间隔i
的理论唤醒时间。rteval
运行的详情将写入到 XML 文件中,以及系统的引导日志。此报告显示在屏幕上,并保存到压缩文件中。文件名采用
rteval- <date>-N-tar.bz2
格式,其中<
date> 是报告生成的日期,N
是 <date
> 上运行的 Nth 计数器。
以下是一个 rteval
报告示例:
System: Statistics: Samples: 1440463955 Mean: 4.40624790712us Median: 0.0us Mode: 4us Range: 54us Min: 2us Max: 56us Mean Absolute Dev: 1.0776661507us Std.dev: 1.81821060672us CPU core 0 Priority: 95 Statistics: Samples: 36011847 Mean: 5.46434910711us Median: 4us Mode: 4us Range: 38us Min: 2us Max: 40us Mean Absolute Dev: 2.13785341159us Std.dev: 3.50155558554us
这个报告包括了系统硬件、已用运行长度以及时间结果(每个cpu 和系统范围的)的详情。
要从其生成的文件中重新生成 rteval
报告,请运行
# rteval --summarize rteval-<date>-N.tar.bz2