chrt可以用于查看任务的优先级,也可以修改任务的调度策略。
[timelessxp@qemu_arm64 ]# chrt -p 106
pid 106's current scheduling policy: SCHED_FIFO
pid 106's current scheduling priority: 99
[timelessxp@qemu_arm64 ]# chrt -p 2
pid 2's current scheduling policy: SCHED_OTHER
pid 2's current scheduling priority: 0
根据上面的输出,可见pid=2的任务调度策略为SCHED_OTHER,并且prority为0,,当一个进程的调度优先级为0时,这通常意味着它有一个中等的优先级,既不是特别高也不是特别低。在Linux中,普通进程的默认nice值通常是0,对应的调度优先级也是从这个中等值开始。这意味着进程将以系统认为的“公平”方式与其他进程共享CPU时间。
对于实时进程,调度优先级的范围是从1到99,其中1是最高优先级,99是最低优先级。实时进程使用SCHED_FIFO或SCHED_RR调度策略,它们的优先级通常远高于普通进程,以确保它们能够及时响应。