如何在linux中获取线程的调度统计信息?

时间:2012-06-01 17:56:57

标签: linux multithreading

在Linux中,我们可以使用“cat / proc / processs-id / sched”来获取调度信息,nr_switches,nr_voluntary_switches,nr_involuntary_switches告诉我们有多少次调度进程。是否有任何类似的方法可以获得线程的调度时间? 提前谢谢!

1 个答案:

答案 0 :(得分:1)

“调度时间”很难知道你的意思。如果你的意思是内核/用户运行滴答,那么/prox/xxx/stat看起来它有关于运行时的一些细节。

在linux下,可以在/proc/xxx/task/yyy中找到进程的线程。每个目录对应于与父项关联的线程进程。

  

utime%lu 此进程在用户模式下的计划时间,以时钟周期计算(除以sysconf(_SC_CLK_TCK)。这包括访客时间,guest_time(运行虚拟所花费的时间) CPU,见下文),以便不知道访客时间字段的应用程序不会因计算而浪费时间。

     

stime%lu 在内核模式下调度此进程的时间,以时钟周期计算(除以sysconf(_SC_CLK_TCK)。

我会检查proc联机帮助页以获取可用文件列表。

  

man proc