2012-05-27 13 views

Odpowiedz

1

clock_gettime() może zwracać czas procesora specyficzny dla wątku. Po prostu:

struct timespec ts; 
clock_gettime(CLOCK_THREAD_CPUTIME_ID, &ts); 

Ale z mojego zrozumienia jest to suma czasu użytkownika i systemu tego wątku. Powinieneś także wziąć pod uwagę komunikat ostrzegawczy dotyczący systemów SMP na końcu strony podręcznika.

Ponadto, jeśli nie chcesz informacji o taktowaniu na bieżącym wątku, ale na niektórych pthread, możesz uzyskać clockid_t do użycia z clock_gettime() przy użyciu int pthread_getcpuclockid(pthread_t thread, clockid_t *clock_id).

1

getrusage()

EDIT: Aby uzyskać czas bezczynności, chciałbym odejmować systemu i czas użytkownika od chwili całkowitego nić była aktywna.

Inne narzędzia, których można użyć do sondowania, to: system system, swtrace, tprof, oprofile, perf, sysprof, ptt, itp.

Powiązane problemy