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