对于我大学的一个项目,我正在研究跟踪、记录和操纵某些进程的进程调度的方法。我想启动多个应用程序,每个应用程序都在一个进程中。首先我想跟踪并记录他们的预定执行情况。但在下一步中,我想操纵它们的计划执行,以便在第一次$n
执行时更喜欢单个进程。
有人知道实现这一点的现有方法(例如修改后的 sched.h)吗?
答案1
要跟踪您可以使用getcpu
或者sched_getcpu
(想法来自这个问题),但是没有任何与调度相关的信号,因此直接在代码上跟踪它可能有点困难。
另一个不太优雅的解决方案是在/proc/$PID
“文件”中找到此信息
控制CPU关联性检查的位置hwloc
,taskset
或运行时控制的控制:sched_setaffinity