3秒获取百度网盘提取码:baidupankey终极解决方案
2026/6/7 9:44:05
实时策略旨在实现确定性。实时调度器总是运行优先级最高且准备好执行的实时线程,并且实时线程会优先于分时线程执行。选择实时策略而非分时策略,意味着你对线程的预期调度有深入了解,并希望覆盖调度器的默认假设。
/proc/sys/kernel/sched_rr_timeslice_ms控制时间片的值。除此之外,其行为与 SCHED_FIFO 相同。每个实时线程的优先级范围在 1 到 99 之间,99 为最高优先级。要为线程赋予实时策略,需要CAP_SYS_NICE权限,默认只有 root 用户拥有该权限。
实时调度存在一个问题,即计算密集型线程(通常是由于 bug 导致无限循环)会阻止低优先级实时线程和所有分时线程运行,使系统变得不稳定甚至完全锁定。可以通过以下两种方法防范:
-预留 CPU 时间:自 Linux 2.6.25 起,调度器默认会为非实时线程预留 5% 的 CPU 时间,以防止