有没有办法查看每个线程生成多少上下文切换? (如果可能,请同时进出)以X / s表示,或者使其运行并在一段时间后提供汇总数据。
(在Linux或Windows上)
我发现只有工具可以为整个操作系统或每个进程提供汇总的上下文切换数量。
我的程序进行了许多上下文切换(50k / s),可能没有很多必要,但是我不确定从哪里开始优化,大多数发生在哪里。
最佳答案
在最新的GNU / Linux系统上,可以在每次调用sched_switch()时使用SystemTap收集所需的数据。 schedtimes.stp示例可能是一个不错的开始:http://sourceware.org/systemtap/examples/keyword-index.html#SCHEDULER