我有多線程C應用程序(守護進程)。我可以通過線程測量CPU使用情況到我的應用程序中嗎?我可以通過線程測量Linux中的CPU使用情況嗎?
3
A
回答
1
您可以從/proc/<PID>/stat
解析出數據。該CPU產品線看起來是這樣的: -
cpu 143359 8217 480152 132054567 45162 5678 24656 0 0
5
雖然這是一出來就以我個人的谷歌搜索的頂部命中相關的一個老問題。所以我會提供我想出的答案。
假設你正在使用並行線程或一個使用它的庫,例如Boost庫。可以使用pthread_getcpuclockid
和clock_gettime
。
手冊頁鏈接pthread_getcpuclockid,clock_gettime。
下面是一個簡單的例子,返回當前時間作爲雙。
double cpuNow(void) {
struct timespec ts;
clockid_t cid;
pthread_getcpuclockid(pthread_self(), &cid);
clock_gettime(cid, &ts);
return ts.tv_sec + (((double)ts.tv_nsec)*0.000000001);
}
相關問題
- 1. 在Linux中查找線程的CPU使用情況
- 2. 我可以限制用於測試的網站的CPU使用情況嗎?
- 3. Linux的CPU使用情況工具
- 4. 測量Linux多線程應用程序的堆棧使用情況
- 5. 在使用線程宏的情況下可以解構嗎?
- 6. 在VBScript中可以確定每個進程的CPU使用情況嗎?
- 7. c#單線程獲取線程的CPU使用情況
- 8. Linux:如何測量進程內線程的內存使用情況?
- 9. 如何跟蹤linux中進程的cpu /內存使用情況?
- 10. 測量進程CPU和內存使用情況
- 11. 我可以使用類變量與線程通信嗎?
- 12. 我可以在這種情況下使用變量嗎?
- 13. 我可以在這種情況下使用全局變量嗎?
- 14. 如何通過java進程查找cpu使用情況
- 15. 監控java中每個線程的CPU使用情況?
- 16. Linux:程序的CPU和內存使用情況
- 17. 如何記錄Linux進程的RAM和CPU使用情況
- 18. 用於測量CPU和內存使用情況的RRD
- 19. 在沒有Application.ProcessMessages的情況下,TWebBrowser可以在Delphi的線程中使用嗎?
- 20. 如何測量F#代碼的CPU和內存使用情況?
- 21. 如何統計Linux中多進程應用程序的CPU使用情況
- 22. 獲取Linux進程資源使用情況(CPU,磁盤,網絡)
- 23. 我可以在我的情況下使用ASP.NET MVC Partial嗎?
- 24. 如何測量Linux中OpenMP代碼的內存使用情況?
- 25. 是否可以測量應用程序使用的「CPU時間」?
- 26. 在linux中的java服務器CPU使用情況監視器
- 27. 使用java獲取虛擬機(linux)的CPU使用情況
- 28. 線程的iOS和Mac CPU使用情況
- 29. 我可以在Linux中使用winnt.h嗎?
- 30. 我可以在沒有用戶的情況下使用oauth2嗎?
我有一個過程,一個PID和許多線程。每個線程都獲得傳入連接並完成工作。我通過線程和有趣的信息爲我開發監控「Thead如何加載」 – user1514692