进程优先级

发布时间 2023-11-08 08:22:04作者: 咩咩想吃雪糕

每个CPU(或CPU核心)在一个时间点上只能处理一个进程,通过时间片技术,Linux系统能够运行的进程(和线程数)可以超出实际可用的CPU及其核心数量。Linux内核进程调度程序将多个进程在CPU核心上快速切换,从而造成多个进程在同时运行的假象。由于不是每个进程都同样重要,可以让进程调度程序为不同的进程使用不同的调度策略。常规系统上运行的大多数进程所使用的调度策略为 SCHED_OTHER (也称为SCHED_NORMAL),但还有其他一些调度策略用于不同的目的。SCHED_OTHER 调度策略使用的进程的相对优先级称为进程的 nice 值,有40个不同级别,其范围为−20~19,数值越小优先级越高,数值越大优先级越低。例如,−20的优先级最高,该进程不倾向于让出CPU;19的优先级最低,该进程容易将CPU 让给其他进程。此处需要注意的是,普通用户调整应用程序优先权值的范围为0~19,只有超级用户有权使用更高的优先权值。