7.3. 配置 SCHED_DEADLINE 参数
Red Hat Enterprise Linux 中的 sched_deadline_period_max_us
和 sched_deadline_period_min_us
参数是 SCHED_DEADLINE 调度策略的内核可调参数。这些参数通过使用此实时调度类来控制任务的最大允许周期(以微秒为单位)。
sched_deadline_period_max_us
和 sched_deadline_period_min_us
一起工作,为 SCHED_DEADLINE 任务的 period 值定义一个可接受的范围。
-
min_us
可防止可能使用过量资源的高频率任务。 -
max_us
会阻止极长的任务,它们可能会导致其他任务的性能。
使用参数的默认配置。如果需要更改参数的值,您必须在实时环境中配置自定义值前测试它们。
参数的值以微秒为单位。例如,1 秒等于 100000 微秒。
先决条件
- 您的系统必须具有 root 权限。
流程
使用其中一个
sysctl
命令临时设置所需的值。要使用
sched_deadline_period_max_us
参数,请运行以下命令:sysctl -w kernel.sched_deadline_period_max_us=2000000
# sysctl -w kernel.sched_deadline_period_max_us=2000000
Copy to Clipboard Copied! 要使用
sched_deadline_period_min_us
参数,请运行以下命令:sysctl -w kernel.sched_deadline_period_min_us=100
# sysctl -w kernel.sched_deadline_period_min_us=100
Copy to Clipboard Copied!
永久设置值。
对于
max_us
,编辑/etc/sysctl.conf
并添加以下行:kernel.sched_deadline_period_max_us = 2000000
kernel.sched_deadline_period_max_us = 2000000
Copy to Clipboard Copied! 对于
min_us
,请编辑/etc/sysctl.conf
并添加以下行:kernel.sched_deadline_period_min_us = 100
kernel.sched_deadline_period_min_us = 100
Copy to Clipboard Copied!
应用更改:
sysctl -p
# sysctl -p
Copy to Clipboard Copied!
验证
验证
max_us
的自定义值:cat /proc/sys/kernel/sched_deadline_period_max_us 2000000
$ cat /proc/sys/kernel/sched_deadline_period_max_us 2000000
Copy to Clipboard Copied! 验证
min_us
的自定义值:cat /proc/sys/kernel/sched_deadline_period_min_us 100
$ cat /proc/sys/kernel/sched_deadline_period_min_us 100
Copy to Clipboard Copied!