揭秘Linux优先级:最佳排序法(linuxprio)

随着越来越多的人使用Linux系统,Linux优先级按照最佳排序法来定义和估算。

Linux优先级用来决定系统调度哪些任务以及应该以何种顺序执行任务,通过更高的优先级以及更短的排队时间调度任务。 Linux优先级是介于0(最高)到139(最低)之间的值,优先级越高表示调度的任务越先执行,优先级越低,调度的任务越后执行。

其中,特别的优先级范围是0-99,Linux优先级通常被定义为一个整数, 默认使用 niceness(或nicevalue):

$ ps -eo nice      #查看进程的niceness
$ nice -n 10 [command] #设置command优先级为10

从0-19,最高优先级,此时有最多的处理器时间,从20-39,表示普通优先级以及默认的优先级,到40-59,表示低优先级,60-99表示最低优先级。Linux系统只支持10个优先级,将这些优先级分成3类,分别是Real-time, Normal,低优先级。

低优先级进程多为后台进程,主要被用做冗余工作,而真实实时进程会占用更多的处理器时间,而根据实时进程的重要程度,又被分为更多真实实时进程优先级。

实时优先级从0-99,然后加入了更高的优先级,即表示更重要的任务会拥有更高的优先级,而最低优先级的任务会在调度的时候比较低,从而获得最少的处理器资源。

综上所述,Linux优先级通过最佳排序法确定,根据进程的重要程度和执行时间可以将优先级分为三类:Real-time,Normal,Low,在此基础上又可以分为10个实时优先级和139个普通优先级,可以根据每类优先级的重要性确定每个进程的具体优先级来实现Linux系统的最佳排序。


数据运维技术 » 揭秘Linux优先级:最佳排序法(linuxprio)