第 14 章 使用 RHEL for Real Time 中的 rtla-osnoise 测量调度延迟
低延迟是一个环境,它经过优化来处理具有低容错(延迟)的大量数据。为应用程序提供专用资源(包括 CPU)是在大量低延迟环境中进行的。例如,对于网络功能虚拟化(NFV)应用中的高性能网络处理,单个应用具有 CPU 电源限制集来持续运行任务。
Linux 内核包含实时分析(rtla)工具,它为操作系统 noise (osnoise) tracer 提供了一个接口。操作系统声明是应用中因操作系统内活动而进行的干扰。Linux 系统可能会因为以下原因而体验:
- 不可屏蔽中断(NMI)
- 中断请求(IRQ)
- 软中断请求(SoftIRQ)
- 其他系统线程活动
- 与硬件相关的作业,如不可屏蔽的高优先级系统管理中断(SMI)
14.1. rtla-osnoise tracer 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
Linux 内核包含实时分析(rtla)工具,它为操作系统 noise (osnoise) tracer 提供了一个接口。rtla-osnoise tracer 创建一个在指定时间段内定期运行的线程。在 句点 开始时,线程会禁用中断,启动抽样,并在循环中捕获时间。
rtla-osnoise tracer 提供以下功能:
- 测量 CPU 接收的操作量。
- 特征在 CPU 中发生的操作系统声明类型。
- 输出优化的 trace 报告,以帮助定义意外结果的根本原因。
- 节省每个干扰源的干扰计数器。非可屏蔽中断(NMI)、中断请求(IRQ)、软件中断请求(SoftIRQ)和线程的干扰计数器,当工具检测到这些干扰的条目事件时,线程会增加。
rtla-osnoise tracer 会打印一个运行报告,并在周期的结论中提供有关 noise 源的以下信息:
- 无权总额.
- 最多声明量。
- 分配给线程的 CPU 百分比。
- noise 源的计数器。