如何跟踪某个进程的进程调度?

如何跟踪某个进程的进程调度?

对于我大学的一个项目,我正在研究跟踪、记录和操纵某些进程的进程调度的方法。我想启动多个应用程序,每个应用程序都在一个进程中。首先我想跟踪并记录他们的预定执行情况。但在下一步中,我想操纵它们的计划执行,以便在第一次$n执行时更喜欢单个进程。

有人知道实现这一点的现有方法(例如修改后的 sched.h)吗?

答案1

要跟踪您可以使用getcpu或者sched_getcpu(想法来自这个问题),但是没有任何与调度相关的信号,因此直接在代码上跟踪它可能有点困难。

另一个不太优雅的解决方案是在/proc/$PID“文件”中找到此信息

控制CPU关联性检查的位置hwloctaskset或运行时控制的控制:sched_setaffinity

相关内容