眾所周知,Linux 系統具有切換執行緒背景關系以歸檔并發性的功能。我需要測量一些指標以使其可視化。我需要什么指標:
- 執行緒加載到 CPU 運行時的 CPU 時間
- 執行緒從 CPU 卸載時的 CPU 時間
- 一個CPU核心
示例:我有一個帶有 2 個執行緒(主執行緒和附加執行緒)的行程
指標:
| PID | TID | 時間 | 事件 | CPU核心 |
|---|---|---|---|---|
| 1 | 1 | 85.0234 | CPU 占用這個執行緒 | 1 |
| 1 | 1 | 85.1102 | CPU 關閉這個執行緒 | 1 |
| 1 | 2 | 85.1201 | CPU 占用這個執行緒 | 1 |
| 1 | 2 | 85.1409 | CPU 關閉這個執行緒 | 1 |
| 1 | 1 | 86.0192 | CPU 占用這個執行緒 | 2 |
| 1 | 1 | 86.1122 | CPU 關閉這個執行緒 | 2 |
| 1 | 2 | 86.2012 | CPU 占用這個執行緒 | 3 |
| 1 | 2 | 86.2513 | CPU 關閉這個執行緒 | 3 |
有了這個指標,我可以計算在每次迭代中執行第一個 Thread(TID 1) 所需的時間。例如,第一次迭代是0.0868 (85.1102 - 85.0234)
你知道有什么工具可以幫助我嗎?你能提供一些例子來開始嗎?
uj5u.com熱心網友回復:
看看'perf sched'
對于報告,您可以查看“perf sched timehist”和“perf sched latency”。
有關更多資訊,請參閱: https ://www.brendangregg.com/blog/2017-03-16/perf-sched.html
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/520371.html
上一篇:java并發與并行
下一篇:如何正確實作生產者消費者問題
