1. 进程的优先级 PRI
在Linux中,pri是进程的优先级(Priority)值,用来帮助操作系统决定先处理哪些进程。
pri值的取值范围是-20(最高优先级,通常为系统进程保留)到19(最低优先级,通常为用户进程保留)。如果两个进程的pri值相同,那么操作系统会采用时间片轮转调度算法来平均调度这两个进程。
通常情况下,系统进程比较高的pri值(靠近-20),而用户进程比较低的pri值(靠近19)。如果需要提高某个进程的pri值,可以使用nice或renice命令来完成。
pri值的作用就是帮助操作系统调度进程,以达到最优性能和平衡性。需要注意的是,过多地提高进程的pri值可能会导致系统资源的不均衡和进程饥饿的问题。
2. Linux采用的进程调度算法CFS
Linux的进程调度并未使用均分时间片的方式,而是对优先级进行了改进,采用的两种不同优先级范围:
(1)nice值,nice值越大意味着更低的优先级,反之nice值越小意味着更低的优先级,低nice值会获得更多的处理器时间。
(2)nice值并不是优先级,但会影响优先级PRI (priority):PRI = PRI(old) + nice
CPU的把时间进行切片,然后分配给进程,当进程无限多时,也必须保证进程被抢占之前保证 1ms的运行时间,这个1ms就是最小粒度。