1
$ 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

任何想法?

提前致谢。

4

1 回答 1

2

即使没有其他进程能够运行调度程序,每个时间片仍会运行一次。它将直接返回到您的流程,但您的流程已在短时间内被取消计划。

FTRACE很好,看看这个页面,尤其是3.3.1节。该页面在 OMAP ARM 设备上进行讨论,但在其他 linux 上一切正常。该查看器揭示了大量有关系统内部运作的信息!

于 2013-06-30T05:29:16.903 回答