2013-09-05 85 views

回答

1

您可以從/proc/<PID>/stat解析出數據。該CPU產品線看起來是這樣的: -

cpu 143359 8217 480152 132054567 45162 5678 24656 0 0 
+1

我有一個過程,一個PID和許多線程。每個線程都獲得傳入連接並完成工作。我通過線程和有趣的信息爲我開發監控「Thead如何加載」 – user1514692

5

雖然這是一出來就以我個人的谷歌搜索的頂部命中相關的一個老問題。所以我會提供我想出的答案。

假設你正在使用並行線程或一個使用它的庫,例如Boost庫。可以使用pthread_getcpuclockidclock_gettime
手冊頁鏈接pthread_getcpuclockidclock_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); 
} 
相關問題