2012-05-27 3 views

Répondre

1

clock_gettime() peut renvoyer le temps CPU spécifique au thread. Faire simplement:

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

Mais d'après ce que je sais c'est la somme de l'heure de l'utilisateur et du système de ce fil de discussion. Aussi, vous devriez considérer le message d'avertissement concernant les systèmes SMP à la fin de la page de manuel.

En outre, si vous ne voulez pas de synchronisation des informations sur le thread en cours, mais sur certains pthread, vous pouvez obtenir le clockid_t à utiliser avec clock_gettime() en utilisant int pthread_getcpuclockid(pthread_t thread, clockid_t *clock_id).

1

getrusage()

EDIT: Pour obtenir le temps d'inactivité, je soustrairait le système et le temps de l'utilisateur du temps total du fil était actif.

Autres outils que vous pouvez utiliser pour sonder les suivants: système robinet, swtrace, tprof, oprofile, perf, sysprof, ptt, etc.

Questions connexes