我正在使用 redhat 8 linux,我想添加新的策略来调度进程,您能帮我吗:
1)在哪里定义新策略
2)为进程分配策略的过程如何进行?
详细说明函数名称和结构将会很有帮助。
答案1
你指的是Red Hat 版本 8.0运行 2.4 系列内核???该版本早在 2003 年或 2004 年就停产了。根据帖子第一条评论中提供的链接,我认为 2.6.x 之前的任何内核都没有实时调度策略。
编辑:使用的内核实际上是 2.6.x 内核。使其工作所需的命令是chrt
。在这种情况下,需要将其反向移植或从头编译为 Red Hat 8.0 服务器。我怀疑您在这样做时会遇到其他问题,但对于其他偶然发现此问题的人来说,chrt
允许这样做。
从手册页中:
NAME
chrt - manipulate real-time attributes of a process
SYNOPSIS
chrt [options] [prio] [pid | command [arg]...]
DESCRIPTION
chrt(1) sets or retrieves the real-time scheduling attributes of an existing PID or runs COMMAND
with the given attributes. Both policy (one of SCHED_OTHER, SCHED_FIFO, SCHED_RR, or
SCHED_BATCH) and priority can be set and retrieved.
一个真实的例子:
# Set JSINIT processes for e-commerce to FIFO scheduler and realtime priority 75.
for i in `pgrep -f 'JSINIT\ I.*' | xargs`; do chrt -p -f 75 $i; done