使用chrt命令可以很简单地更改调度策略.

$ chrt --help
Scheduling policies:
  -b | --batch         set policy to SCHED_BATCH
  -f | --fifo          set policy to SCHED_FIFO
  -i | --idle          set policy to SCHED_IDLE
  -o | --other         set policy to SCHED_OTHER
  -r | --rr            set policy to SCHED_RR (default)Options:
  -h | --help          display this help
  -p | --pid           operate on existing given pid
  -m | --max           show min and max valid priorities
  -v | --verbose       display status information
  -V | --version       output version information


确认某个进程的属性可以通过指定 -p 或 --pid 并指定进程ID,用法如下:

# chrt -p 468
pid 468's current scheduling policy: SCHED_FIFO
pid 468's current scheduling priority: 85

# chrt -p 476
pid 476's current scheduling policy: SCHED_OTHER
pid 476's current scheduling priority: 0



eg:

将PID 1000 的进程设定成 SCHED_FIFO,优先级设定成50。
# chrt -f -p 50 1000

将PID 1000 的进程设定成 SCHED_OTHER,优先级设定成0。
# chrt -o -p 0 1000

起动 /bin/my-app 设定成 SCHED_FIFO,优先级设定成36。
# chrt -f 36 /bin/my-app



chrt 命令的策略选项


短选项

长选项

詳細

-f    --fifo    调度器设成 SCHED_FIFO    

-o    --other    调度器设成 SCHED_OTHER    

-r    --rr    调度器设成 SCHED_RR