linux - 使用 FIFO 调度的进程仍处于关闭状态?

标签 linux centos real-time scheduling redhat

$ 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

有什么想法吗?

提前致谢。

最佳答案

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

FTRACE很不错,看看this页,尤其是第 3.3.1 节。该页面讨论的是在 OMAP ARM 设备上,但在其他 Linux 上一切正常。该查看器揭示了大量有关系统内部工作的信息!

关于linux - 使用 FIFO 调度的进程仍处于关闭状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17209568/

相关文章:

linux - Hadoop在两台不同名称的机器上配置多节点集群

linux - 隐藏 Unix Shell 脚本后台进程输出

php - 使用 WHM 在 Centos 6.5 上的 AutoKill 过程

linux - linux中通过变量将输出重定向到文件

php - 自从我更新 PHP 后与安装冲突

python - 如何在 CentOS 6.4 上安装 urwid 1.1.1?

javascript - 页面加载后从 EpicEditor 中的文本区域同步值

ios - 如何在IOS中使用OpusCodec对实时音频进行编码和解码?

php - Laravel 实时数据更新与 mysql

PHP脚本替换数据库中文件名中的特定字符串