rtla-osnoise-hist

顯示 osnoise 跟蹤器樣本的直方圖

手冊章節:

1

概要

rtla osnoise hist [選項]

描述

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

rtla osnoise hist 工具將所有 osnoise:sample_threshold 出現情況收集到直方圖中,並以使用者友好的方式顯示結果。該工具還允許對 *osnoise* 跟蹤器進行多種配置,並收集跟蹤器輸出。

選項

-a, --auto 微秒

設定自動跟蹤模式。此模式在除錯系統時設定了一些常用選項。它等同於使用 -s 微秒 -T 1 -t

-p, --period 微秒

設定 *osnoise* 跟蹤器的週期,單位為微秒。

-r, --runtime 微秒

設定 *osnoise* 跟蹤器的執行時長,單位為微秒。

-s, --stop 微秒

如果單個樣本高於引數(單位為微秒),則停止跟蹤。如果設定了 -T,它還會將跟蹤儲存到輸出。

-S, --stop-total 微秒

如果總樣本高於引數(單位為微秒),則停止跟蹤。如果設定了 -T,它還會將跟蹤儲存到輸出。

-T, --threshold 微秒

指定兩次時間讀取之間的最小增量,以便被視為噪聲。預設閾值為 *5 微秒*。

-t, --trace [檔案]

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

-b, --bucket-size N

設定直方圖桶大小(預設為 *1*)。

-E, --entries N

設定直方圖的條目數量(預設為 256)。

--no-header

不列印標題。

--no-summary

不列印摘要。

--no-index

不列印索引。

--with-zeros

僅列印零條目。

-c, --cpus cpu-列表

設定 osnoise 跟蹤器在 cpu-列表 中執行取樣執行緒。

-H, --house-keeping cpu-列表

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

-d, --duration 時間[秒|分|小時|天]

設定會話持續時間。

-D, --debug

列印除錯資訊。

-e, --event 系統:事件

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

--filter <過濾器>

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

--trigger <觸發器>

為上一個 -e 系統:事件 啟用跟蹤事件觸發器。如果 *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://kernel.linux.club.tw/doc/html/latest/trace/events.html#event-triggers

-P, --priority o:優先順序|r:優先順序|f:優先順序|d:執行時長:週期

設定 osnoise 跟蹤器執行緒的排程引數,設定優先順序的格式為

  • o:優先順序 - 使用 SCHED_OTHER 排程器,優先順序為 優先順序;

  • r:優先順序 - 使用 SCHED_RR 排程器,優先順序為 優先順序;

  • f:優先順序 - 使用 SCHED_FIFO 排程器,優先順序為 優先順序;

  • d:執行時長[微秒|毫秒|秒]:週期[微秒|毫秒|秒] - 使用 SCHED_DEADLINE 排程器,執行時長為 執行時長,週期為 週期,單位為納秒。

-C, --cgroup[=cgroup]

為跟蹤器的執行緒設定一個 cgroup。如果 **-C** 選項沒有帶引數,跟蹤器的執行緒將繼承 **rtla** 的 cgroup。否則,執行緒將放置在傳遞給該選項的 cgroup 中。

--warm-up

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

--trace-buffer-size KB

設定每個 CPU 的跟蹤緩衝區大小,單位為 KB,用於跟蹤輸出。

-h, --help

列印幫助選單。

示例

在下面的示例中,*osnoise* 跟蹤器執行緒被設定為以即時優先順序 *FIFO:1* 執行,在 CPU *0-11* 上,每個週期執行 *900ms*(預設為 *1s*)。減少執行時間是為了避免餓死 **rtla** 工具。該工具還設定為執行 *一分鐘*。輸出直方圖設定為將輸出按 *10微秒* 的桶和 *25* 個條目進行分組。

[root@f34 ~/]# rtla osnoise hist -P F:1 -c 0-11 -r 900000 -d 1M -b 10 -E 25
# RTLA osnoise histogram
# Time unit is microseconds (us)
# Duration:   0 00:01:00
Index   CPU-000   CPU-001   CPU-002   CPU-003   CPU-004   CPU-005   CPU-006   CPU-007   CPU-008   CPU-009   CPU-010   CPU-011
0         42982     46287     51779     53740     52024     44817     49898     36500     50408     50128     49523     52377
10        12224      8356      2912       878      2667     10155      4573     18894      4214      4836      5708      2413
20            8         5        12         2        13        24        20        41        29        53        39        39
30            1         1         0         0        10         3         6        19        15        31        30        38
40            0         0         0         0         0         4         2         7         2         3         8        11
50            0         0         0         0         0         0         0         0         0         1         1         2
over:         0         0         0         0         0         0         0         0         0         0         0         0
count:    55215     54649     54703     54620     54714     55003     54499     55461     54668     55052     55309     54880
min:          0         0         0         0         0         0         0         0         0         0         0         0
avg:          0         0         0         0         0         0         0         0         0         0         0         0
max:         30        30        20        20        30        40        40        40        40        50        50        50

另請參閱

rtla-osnoise(1),rtla-osnoise-top(1)

*osnoise* 跟蹤器文件:<https://kernel.linux.club.tw/doc/html/latest/trace/osnoise-tracer.html>

作者

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

報告錯誤

將錯誤報告給 <linux-kernel@vger.kernel.org> 和 <linux-trace-devel@vger.kernel.org>

許可證

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

版權

版權所有 (C) 2021 Red Hat, Inc. 本軟體的免費使用根據 GNU 通用公共許可證 (GPL) 的條款授予。