Linux中的优先级(priority)决定了进程或线程在执行时的调度顺序
Real-time(实时):实时优先级是最高的,用于确保任务在规定的时间内得到执行。实时任务通常具有严格的截止时间要求,如果无法满足这些要求,系统可能会采取剥夺式调度策略,从低优先级任务中抢占资源。实时任务的优先级范围通常是1-99。
High priority(高优先级):高优先级任务用于执行对系统性能要求较高的任务,例如图形处理、音频编解码等。高优先级任务的优先级范围通常是10-99。普通用户创建的任务默认属于这个类别,但可以通过nice命令降低其优先级。
Normal priority(普通优先级):普通优先级任务是最常见的任务类型,包括大多数用户进程和服务。它们的优先级范围通常是0-99。普通用户可以创建和修改这些任务的优先级,但通常不建议随意更改,以免影响系统性能。
Low priority(低优先级):低优先级任务主要用于执行对系统性能影响较小的任务,例如后台数据备份、日志记录等。低优先级任务的优先级范围通常是100-199。这些任务通常不会影响用户的正常使用,但在系统资源紧张时,它们可能会被系统延迟执行。
需要注意的是,Linux调度器会综合考虑进程的优先级、CPU亲和性、I/O等待等多种因素来决定任务的执行顺序。因此,在实际应用中,不同优先级的任务可能会因为这些因素而表现出不同的执行顺序。