首页 > 其他分享 >NICE与静态优先级的关系

NICE与静态优先级的关系

时间:2024-07-16 23:07:59浏览次数:12  
标签:优先级 静态 进程 20 100 NICE nice

在Linux系统中,nice值和静态优先级用于控制进程调度的优先级,但它们的范围和含义有所不同。让我们详细解释一下两者的区别和联系。

1. Nice值

  • 范围nice值的范围是从 -20 到 19。
    • -20:最高优先级。
    • 19:最低优先级。
  • 作用nice值用于调整进程的相对优先级。nice值越低,进程的优先级越高,调度程序会更频繁地调度该进程。
  • 修改方式:可以通过命令行工具如 nicerenice 来修改进程的 nice 值。

2. 静态优先级

  • 范围:静态优先级的范围是从 0 到 139。
    • 099:实时进程的优先级。
    • 100139:普通进程的优先级(由 nice 值确定)。
  • 关系:普通进程的静态优先级是由 nice 值计算得来的。计算公式是:
    静态优先级 = nice值 + 20 + 100
    
    因此:
    • nice 值为 -20 的进程,静态优先级为 -20 + 20 + 100 = 100(最高优先级)。
    • nice 值为 19 的进程,静态优先级为 19 + 20 + 100 = 139(最低优先级)。

区别与联系

  • nice值:是一个用户友好的方式,用于设置和调整进程优先级。用户可以方便地通过调整 nice 值来影响进程的优先级。
  • 静态优先级:是内核实际使用的优先级数值,用于调度程序决定进程的执行顺序。普通进程的静态优先级是由 nice 值换算而来的,范围在 100 到 139 之间。

示例

其中DEFAULT_PRIO的默认值为120,对应于Nice值为0。

NICE_TO_PRIO(nice) = nice + DEFAULT_PRIO
PRIO_TO_NICE(prio) = prio - DEFAULT_PRIO
  • 一个进程的 nice 值为 0,它的静态优先级为:
  -20 + 120 = 100
  • 一个进程的 nice 值为 -10,它的静态优先级为:
    -10 + 120 = 110
    

总结一下,nice 值是用户设置的相对优先级,而静态优先级是内核使用的绝对优先级。普通进程的静态优先级是通过 nice 值计算得来的,用于确定进程的调度顺序。

标签:优先级,静态,进程,20,100,NICE,nice
From: https://www.cnblogs.com/linhaostudy/p/18306312

相关文章

  • 关于静态文件目录与模板引用和Nginx location块的适配设置
    项目配置文件内关于静态文件的设置项#静态文件的URL前缀STATIC_URL='/static/'#项目根目录的静态文件目录STATICFILES_DIRS=[os.path.join(BASE_DIR,'static'),os.path.join(BASE_DIR,'parallel/static'),os.path.join(BASE_DIR,'blog/static&#......
  • 静态代码块、代码块、构造方法的执行顺序
    一、定义类,定义静态代码块、代码块、构造方法packagecom.lh.beans;/***@authorLH*/publicclassTestAA{static{System.out.println("执行静态代码块。。。");}{System.out.println("执行代码块。。。");}publicTe......
  • 【Azure Developer】C#/.NET 静态函数中this关键字的作用
    问题描述在查看.NET代码的时候,发现一个静态方法,第一个参数使用this关键字,它在这里是什么作用呢?publicstaticXElementAquireElement(thisXContainercontainer,stringname,booladdFirst=false){... 问题解答通过查看微软的官方博文介......
  • Windows图形界面(GUI)-DLG-C/C++ - 静态控件(Static)
    公开视频-> 链接点击跳转公开课程博客首页-> ​​​​​​链接点击跳转博客主页目录静态控件(Static)控件样式消息处理实例代码静态控件(Static)控件样式文本(Text):用来显示文本信息。可以是简单的一行文本或者复杂的格式化文本。图标(Icon):用来显示一个小图标,常用......
  • 静态链接——编译和链接
    一、编译和链接的过程1、GCC生成可执行文件的总体过程在日常的开发过程中,IDE总是会帮我们将编译和链接合并,一键式的执行,即使在liunx中,使用命令行来编译一个源文件也只是简单的一句"gcchello.c"。我们并没有过多的关注编译和链接的运行机制和机理,我想从本质出发,深入了解这......
  • 面向3-static、代码块、静态导入包,abstract(抽象类),interface(接口)、implements(接口
    static、代码块、静态导入包,abstract(抽象类),interface(接口)、implements(接口实现方式)static详解//staticpackageoop;publicclassF1{privatestaticintage;//静态的变量privatedoublescore;//非静态的变量publicvoidrun(){go();//当前......
  • 易优cms apache服务器伪静态规则
    易优cms在apache服务器环境默认自动隐藏index.php入口。如果发现没隐藏,可以检查根目录.htaccess是否含有以下红色代码段: <IfModule mod_rewrite.c>Options +FollowSymlinks -MultiviewsRewriteEngine on#http跳转到https#RewriteCond %{HTTPS} !=on#RewriteRule ^......
  • 什么是 Java 中的静态变量和静态方法?它们在类与对象间的关系是如何体现的?
    在Java编程的世界里,静态变量和静态方法是两个非常基础且重要的概念,它们让我们的代码更加灵活和高效。想象一下,你正在设计一个班级管理系统,每个学生都有姓名和学号,但班级的名称只有一个,对所有人共享。这里的班级名称就可以用静态变量来表示,因为它不属于任何一个特定的学生,而是......
  • python中逻辑运算符and 和 or 的优先级问题。
    python的说明文档以及教材上、网上都说明and的优先级大于or。但我经过实际操作,发现其中规律似乎并不简单,下面我列举一些代码,来提出我的疑问:有时候or的优先级高,有时候and优先级高,并且并不是从左至右运算。首先说明python当中的and和or运算逻辑如下(这里必须懂):    1......
  • Java中的静态与动态绑定
    Java中的静态与动态绑定大家好,我是微赚淘客系统3.0的小编,是个冬天不穿秋裤,天冷也要风度的程序猿!静态与动态绑定的基本概念在面向对象编程中,静态绑定(StaticBinding)和动态绑定(DynamicBinding)是Java中重要的概念。本文将深入探讨这两种绑定方式的特点、使用场景以及在实际开发中......