rtla-osnoise-top

顯示作業系統噪聲摘要

手冊部分:

1

概要

rtla osnoise top [選項]

描述

rtla osnoise 工具是 osnoise 跟蹤器的一個介面。osnoise 跟蹤器為每個 CPU 分配一個核心執行緒。這些執行緒在啟用搶佔、軟中斷和中斷的情況下,迴圈讀取時間,從而允許在執行過程中產生所有作業系統噪聲源。osnoise 的跟蹤器執行緒會記錄每次時間讀取之間的增量,以及所有干擾源的干擾計數器。在每個週期結束時,osnoise 跟蹤器會顯示結果摘要。

rtla osnoise toposnoise 跟蹤器收集週期性摘要,包括干擾源發生次數的計數器,並以使用者友好的格式顯示結果。

該工具還允許對 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 微秒

-t, --trace [檔案]

將停止的跟蹤儲存到 [檔案|osnoise_trace.txt]。

-q, --quiet

僅在會話結束時列印摘要。

-c, --cpus cpu-list

將 osnoise 跟蹤器設定為在 cpu-list 中執行樣本執行緒。

-H, --house-keeping cpu-list

僅在給定的 cpu-list 上執行 rtla 控制執行緒。

-d, --duration 時間[s|m|h|d]

設定會話持續時間。

-D, --debug

列印除錯資訊。

-e, --event sys:event

在跟蹤 (-t) 會話中啟用事件。引數可以是特定事件,例如 -e sched:sched_switch,或系統組的所有事件,例如 -e sched。允許多個 -e。僅當設定了 -t-a 時才有效。

--filter <過濾器>

使用 <過濾器> 過濾上一個 -e sys:event 事件。有關事件過濾的更多資訊,請參閱 https://kernel.linux.club.tw/doc/html/latest/trace/events.html#event-filtering

--trigger <觸發器>

為上一個 -e sys:event 啟用跟蹤事件觸發器。如果激活了 hist: 觸發器,輸出直方圖將自動儲存到名為 system_event_hist.txt 的檔案中。例如,命令

rtla <命令> <模式> -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://kernel.linux.club.tw/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 選項沒有引數,跟蹤器的執行緒將繼承 rtlacgroup。否則,執行緒將被放置在傳遞給選項的 cgroup 中。

--warm-up s

啟動工作負載後,讓其執行 s 秒,然後才開始收集資料,以便系統預熱。預熱期間生成的統計資料將被丟棄。

--trace-buffer-size kB

設定跟蹤輸出的每 CPU 跟蹤緩衝區大小,單位為 kB。

-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://kernel.linux.club.tw/doc/html/latest/trace/osnoise-tracer.html>

作者

由 Daniel Bristot de Oliveira <bristot@kernel.org> 編寫

報告 Bug

向 <linux-kernel@vger.kernel.org> 和 <linux-trace-devel@vger.kernel.org> 報告 Bug

許可證

rtla 是根據 GNU GPLv2 許可的自由軟體

版權

版權所有 (C) 2021 Red Hat, Inc. 本軟體的自由使用受 GNU 公共許可證 (GPL) 條款的約束。