$ sudo time -f '%c %w' chrt -f 99 ./ft 1234567890
26 1
我很好奇为什么我的进程非自愿(因为时间片已过期)上下文切换26次,即使我将调度程序设置为FIFO,最大优先级为99:
$ chrt -m
SCHED_OTHER min/max priority : 0/0
SCHED_FIFO min/max priority : 1/99
SCHED_RR min/max priority : 1/99
SCHED_BATCH min/max priority : 0/0
SCHED_IDLE min/max priority : 0/0
$ uname -a
Linux localhost.localdomain 2.6.32-358.2.1.el6.x86_64 #1 SMP Wed Mar 13 00:26:49 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
有什么想法吗?
提前致谢。
答案 0 :(得分:2)
即使没有其他能够运行调度程序的进程,每次切片仍会运行一次。它将直接返回到您的流程,但是您的流程在短时间内已经被计划好了。
FTRACE非常好,请查看this页面,尤其是第3.3.1节。该页面正在谈论OMAP ARM设备,但它在其他linux上运行良好。该查看器显示有关系统内部工作的大量信息!