rtla-osnoise-top¶
显示操作系统噪声的摘要¶
- 手册章节:
1
概要¶
rtla osnoise top [选项]
描述¶
rtla osnoise 工具是 osnoise 跟踪器的接口。osnoise 跟踪器为每个 CPU 分派一个内核线程。这些线程在一个循环中读取时间,同时启用抢占、软中断和 IRQ,从而允许在执行期间出现所有操作系统噪声源。osnoise 的跟踪器线程会记录每次时间读取之间的增量,以及所有干扰源的干扰计数器。在每个周期结束时,osnoise 跟踪器会显示结果摘要。
rtla osnoise top 从 osnoise 跟踪器收集周期性摘要,包括干扰源出现次数的计数器,以用户友好的格式显示结果。
该工具还允许对 osnoise 跟踪器进行许多配置,并收集跟踪器输出。
选项¶
-a, --auto us
设置自动跟踪模式。此模式在调试系统时设置一些常用的选项。它等效于使用 -s us -T 1 -t。
-p, --period us
以微秒为单位设置 osnoise 跟踪器周期。
-r, --runtime us
以微秒为单位设置 osnoise 跟踪器运行时。
-s, --stop us
如果单个样本高于参数(以微秒为单位),则停止跟踪。如果设置了 -T,它也会将跟踪保存到输出。
-S, --stop-total us
如果总样本高于参数(以微秒为单位),则停止跟踪。如果设置了 -T,它也会将跟踪保存到输出。
-T, --threshold us
指定两个时间读取之间被视为噪声的最小增量。默认阈值为 5 us。
-t, --trace [file]
将停止的跟踪保存到 [file|osnoise_trace.txt]。
-q, --quiet
仅在会话结束时打印摘要。
-c, --cpus cpu-list
设置 osnoise 跟踪器以在 cpu-list 中运行示例线程。
-H, --house-keeping cpu-list
仅在给定的 cpu-list 上运行 rtla 控制线程。
-d, --duration time[s|m|h|d]
设置会话的持续时间。
-D, --debug
打印调试信息。
-e, --event sys:event
在跟踪 (-t) 会话中启用一个事件。参数可以是特定事件,例如,-e sched:sched_switch,或系统组的所有事件,例如,-e sched。允许多个 -e。仅当设置了 -t 或 -a 时才激活。
--filter <filter>
使用 <filter> 过滤之前的 -e sys:event 事件。有关事件过滤的更多信息,请参见 https://linuxkernel.org.cn/doc/html/latest/trace/events.html#event-filtering。
- --trigger <trigger>
为之前的 -e sys:event 启用跟踪事件触发器。如果激活了 hist: 触发器,则输出直方图将自动保存到名为 system_event_hist.txt 的文件中。例如,命令
rtla <command> <mode> -t -e osnoise:irq_noise --trigger=”hist:key=desc,duration/1000:sort=desc,duration/1000:vals=hitcount”
将自动保存与 osnoise:irq_noise 事件关联的直方图内容到 osnoise_irq_noise_hist.txt。
有关事件触发的更多信息,请参见 https://linuxkernel.org.cn/doc/html/latest/trace/events.html#event-triggers。
-P, --priority o:prio|r:prio|f:prio|d:runtime:period
设置 osnoise 跟踪器线程的调度参数,设置优先级的格式为
o:prio - 使用 SCHED_OTHER 和 prio;
r:prio - 使用 SCHED_RR 和 prio;
f:prio - 使用 SCHED_FIFO 和 prio;
d:runtime[us|ms|s]:period[us|ms|s] - 使用 SCHED_DEADLINE 和 runtime 和 period(以纳秒为单位)。
-C, --cgroup[=cgroup]
为跟踪器线程设置一个 cgroup。如果传递了不带参数的 -C 选项,跟踪器的线程将继承 rtla 的 cgroup。否则,线程将放置在传递给选项的 cgroup 上。
--warm-up s
在启动工作负载后,让它运行 s 秒,然后再开始收集数据,允许系统预热。预热期间生成的统计数据将被丢弃。
- --trace-buffer-size kB
以 kB 为单位设置每个 CPU 跟踪缓冲区的输出大小。
-h, --help
打印帮助菜单。
示例¶
在下面的示例中,将 rtla osnoise top 工具设置为以实时优先级 FIFO:1,在 CPU 0-3 上,每个周期(默认情况下为 1s)运行 900ms。减少运行时间的原因是为了避免 rtla 工具饥饿。该工具还设置为运行 一分钟,并在会话结束时显示报告摘要
[root@f34 ~]# rtla osnoise top -P F:1 -c 0-3 -r 900000 -d 1M -q
Operating System Noise
duration: 0 00:01:00 | time is in us
CPU Period Runtime Noise % CPU Aval Max Noise Max Single HW NMI IRQ Softirq Thread
0 #59 53100000 304896 99.42580 6978 56 549 0 53111 1590 13
1 #59 53100000 338339 99.36282 8092 24 399 0 53130 1448 31
2 #59 53100000 290842 99.45227 6582 39 855 0 53110 1406 12
3 #59 53100000 204935 99.61405 6251 33 290 0 53156 1460 12
另请参阅¶
rtla-osnoise(1), rtla-osnoise-hist(1)
Osnoise 跟踪器文档:<https://linuxkernel.org.cn/doc/html/latest/trace/osnoise-tracer.html>
报告错误¶
将错误报告给 <linux-kernel@vger.kernel.org> 和 <linux-trace-devel@vger.kernel.org>
许可证¶
rtla 是根据 GNU GPLv2 许可的自由软件
版权¶
Copyright (C) 2021 Red Hat, Inc. 根据 GNU 公共许可证 (GPL) 的条款授予免费使用此软件的权利。