全部,有沒有什麼辦法或者工具可以顯示線程切換的進程,也就是我可以知道在任何特定時間,CPU是由哪個線程以及時間上下文切換的花費,謝謝任何顯示線程切換的方法?
3
A
回答
2
SystemTap對於這類事情很有用。有一個罐頭的例子sched_switch.stp爲此。
雖然它並不測量開關的經過時間。這似乎很棘手,至少有幾個原因。首先,你必須爲進入和退出決定一個適當的探測器來衡量一個三角洲,我現在沒有找到任何東西。 (在相關進程中輸入/退出內核可能是一個體面的近似值?可能有些東西是爲了這個,儘管我現在沒有看到它。)其次,如果你想知道在多大程度上值得避免上下文切換,如果您沒有考慮更頻繁地切換任務的額外CPU緩存未命中,那麼這將是一個不完整的圖片,而那些更新會隨後出現。我認爲獲得答案的唯一好方法可能是實驗性的。尤其是,您可能會嘗試調整計劃參數(請參閱cfs-tuning.pdf),以瞭解更頻繁的上下文切換會如何影響程序的速度。
1
如果您已將ftrace編譯到您的內核中,則可以使用sched_switch
跟蹤器輸出進程喚醒和上下文切換蹤跡。如果您的任務是RT預定的,您還可以使用wakeup
跟蹤器瞭解任務喚醒和調度之間的最大延遲時間。有關更多信息,請參見Documentation/trace/ftrace.txt
相關問題
- 1. 不顯示任何從setText()或pyqt4中的其他顯示方法線程類
- 2. 切換線程
- 3. 線程切換
- 4. 線程切換
- 5. 切換顯示
- 6. 如何切換顯示:內聯和顯示切換?
- 7. 如何切換線程
- 8. ASP.NET線程切換
- 9. Java線程切換
- 10. RxJava線程切換
- 11. 切換TR顯示
- 12. JavaScript切換顯示
- 13. React.js切換顯示
- 14. Java:切線方法
- 15. 隱藏/顯示切換jQuery不切換?
- 16. PyDbg中的線程切換
- 17. 隱藏/在jQuery中使用切換顯示div的方法
- 18. 輸入方法,但不顯示任何
- 19. d3js顯示切線的線圖
- 20. jQuery的切換並顯示
- 21. 切換塊的顯示
- 22. 切換Dojo dijit的顯示
- 23. 引導程序切換複選框未顯示爲切換
- 24. Python切換線程的頻率如何?
- 25. 多線程線程切換問題
- 26. 切換到後臺線程並繼續執行方法
- 27. 運行時在線程中切換運行方法
- 28. bootstrap 3導航欄切換不會顯示任何內容
- 29. 如何顯示與切換,在NSUserDefaults的
- 30. 以編程方式切換「三顯示器」
有趣的問題。我想知道這是否可能。可以想象一些你需要知道這種行爲的場景。 –
我覺得有時候對程序分析很方便,我只是想更好地理解我的程序執行,從技術上講,我認爲這是可能的 – thisEric