我有一个在Linux内核上运行的应用程序(一个简单的C代码)。我正在测量代码的两点之间的时间。我想知道是否有任何其他进程或调度程序本身在这两点之间抢占了我的应用程序。有没有办法找到这个。
答案 0 :(得分:0)
识别代码中两点之间是否有任何上下文切换的一种方法是使用
getrusage(int who,struct rusage * usage)
调用并比较 ru_nvcsw &的值的 ru_nivcsw 强>
struct rusage {
...
long ru_nvcsw; /* voluntary context switches */
long ru_nivcsw; /* involuntary context switches */
};