2012-06-01 102 views
0

在Linux中,我們可以使用「cat/proc/processs-id/sched」獲取調度信息,nr_switches,nr_voluntary_switches,nr_involuntary_switches告訴我們調度進程的次數。有沒有類似的方法可以讓我們得到一個線程的調度時間? 在此先感謝!如何獲得Linux中線程的調度統計信息?

回答

1

很難通過「調度時間」瞭解您的意思。如果您的意思是內核/用戶運行滴答,那麼/prox/xxx/stat看起來像它具有關於運行時的一些細節。

在linux下,進程的線程可以在/proc/xxx/task/yyy中找到。每個目錄對應於與父級相關聯的線程進程。

UTIME%魯的時間量,這個過程已經被調度在用戶模式下,在時鐘測量蜱(由的sysconf(_SC_CLK_TCK除)。這包括客人時間,guest_time(花費的時間運行的虛擬CPU,見下文),讓那些不知道客人的時間領域的應用程序不會從他們的計算失去的時間。

STIME%祿,這個過程已經安排在內核模式下,在時鐘測量的時間金額ticks(除以sysconf(_SC_CLK_TCK))

我會檢查proc手冊頁的可用文件列表。

人PROC

+0

謝謝,但我想知道的是多少次線程被shceduled,而不是過程。 – zenis

+0

在linux下,進程的線程可以在'/ proc/xxx/task/yyy'中找到。每個目錄對應於與父級相關聯的線程進程。 – Gray

+0

明白了,謝謝 – zenis

相關問題