獲取每個線程的 cpu 統計信息

獲取每個線程的 cpu 統計信息

我對特定應用程式中每個執行緒的 cpu 當前使用情況感興趣 - 確切地說是 cpu% 和 wait%。是否可以從某處獲取該資訊?

我知道top可以分割每個真實線程(帶有 pid 的線程)的信息,但它不會顯示每個線程的系統/用戶/等待 cpu 使用情況分割。我還想要某種方式來記錄該資訊。您知道有什麼應用程式(或 API)可以做到這一點嗎?

答案1

我會調查一下系統點擊。這個工具一定會給你你想要的。有分析線程的範例;不知道它是否具有您想要的一切,但您可以對其進行修改以使其滿足。

答案2

top -H -p pid 

希望它能有所幫助

答案3

您可以使用指令來取得每個執行緒的 CPU 使用百分比ps

 ps -emo %cpu,pid,user,args

其計算方式描述於ps manpage:

目前,它是使用的 CPU 時間除以進程已運行的時間(cputime/realtime 比率),以百分比表示。

答案4

你試過sar嗎?即使在 pid 級別,它也可以獲得大量資訊。

相關內容