第 14 章 使用 RHEL for Real Time 中的 timerlat 测量调度延迟


rtla-timerlat 工具是 timerlat 追踪器的接口。timerlat 追踪器查找实时线程的 wake-up 延迟源。timerlat 追踪器为每个 CPU 创建一个具有实时优先级的内核线程,这些线程将定期计时器设置为 wake,并返回到 sleep。在唤醒时,timerlat 会查找并收集信息,这对于调试操作系统计时器延迟非常有用。timerlat 追踪器生成输出,并在每次激活时打印以下两行:

  • timerlat 追踪程序定期打印计时器中断请求(IRQ)处理程序中看到的计时器延迟。这是在线程激活前在 hardirq 上下文中看到的第一个输出。
  • 第二个输出是线程的计时器延迟。ACTIVATION ID 字段显示中断请求(IRQ)性能,以及它们对应的线程执行。

14.1. 配置 timerlat 追踪器来测量调度延迟

您可以通过在追踪系统的 curret_tracer 文件中添加 timerlat 来配置 timerlat 追踪器。current_tracer 文件通常挂载到 /sys/kernel/tracing 目录中。timerlat 追踪器测量中断请求(IRQ),并在线程延迟超过 100 微秒时保存用于分析的 trace 输出。

流程

  1. 列出当前的 tracer:

    # cat /sys/kernel/tracing/current_tracer
    nop

    没有操作 (nop)是默认的 tracer。

  2. 在追踪系统的 current_tracer 文件中添加 timerlat 追踪器:

    # cd /sys/kernel/tracing/
    # echo timerlat > current_tracer
  3. 生成追踪输出:

    # cat trace
    # tracer: timerlat

验证

  • 输入以下命令检查 timerlat 是否作为当前的 tracer 启用:

    # cat /sys/kernel/tracing/current_tracer
    timerlat
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2026 Red Hat
返回顶部