NICE与静态优先级的关系
在Linux系统中,nice
值和静态优先级用于控制进程调度的优先级,但它们的范围和含义有所不同。让我们详细解释一下两者的区别和联系。
1. Nice值
- 范围:
nice
值的范围是从 -20 到 19。-20
:最高优先级。19
:最低优先级。
- 作用:
nice
值用于调整进程的相对优先级。nice
值越低,进程的优先级越高,调度程序会更频繁地调度该进程。 - 修改方式:可以通过命令行工具如
nice
和renice
来修改进程的nice
值。
2. 静态优先级
- 范围:静态优先级的范围是从 0 到 139。
0
到99
:实时进程的优先级。100
到139
:普通进程的优先级(由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
值计算得来的,用于确定进程的调度顺序。
NICE与静态优先级的关系的更多相关文章
- 窥探 kernel --- 进程调度的目标,nice值,静态优先级,动态优先级,实时优先级
http://blog.chinaunix.net/uid-24227137-id-3595610.html 窥探 kernel --- 进程调度的目标,nice值,静态优先级,动态优先级,实时优先级 ...
- STM32——CAN协议帧的标准格式和扩展格式与优先级的关系
一.CAN数据帧的标准格式和扩展格式 我们知道CAN总线上的数据帧都可以配置一个ID号,其可以为11位(标准ID格式)或者29位(扩展ID格式),这也是数据帧的标准格式和扩展格式的区别所在. 这个ID ...
- Linux2.6内核进程调度系列--scheduler_tick()函数3.更新普通进程的时间片
RT /** * 运行到此,说明进程是普通进程.现在开始更新普通进程的时间片. */ /* 首先递减普通进程的时间片计数器.如果用完,继续执行以下操作 */ if (!--p->time_sli ...
- 嵌入式系统Linux内核开发工程师必须掌握的三十道题(转)
嵌入式系统Linux内核开发工程师必须掌握的三十道题 如果你能正确回答以下问题并理解相关知识点原理,那么你就可以算得上是基本合格的Linux内核开发工程师,试试看! 1) Linux中主要有哪几种内核 ...
- 浅析Linux内核调度
1.调度器的概述 多任务操作系统分为非抢占式多任务和抢占式多任务.与大多数现代操作系统一样,Linux采用的是抢占式多任务模式.这表示对CPU的占用时间由操作系统决定的,具体为操作系统中的调度器.调度 ...
- Linux进程调度策略的发展和演变--Linux进程的管理与调度(十六)
1 前言 1.1 进程调度 内存中保存了对每个进程的唯一描述, 并通过若干结构与其他进程连接起来. 调度器面对的情形就是这样, 其任务是在程序之间共享CPU时间, 创造并行执行的错觉, 该任务分为两个 ...
- Linux进程调度策略的发展和演变(转)
转发:http://blog.csdn.net/gatieme/article/details/51701149 1 前言 1.1 进程调度 内存中保存了对每个进程的唯一描述, 并通过若干结构与其他 ...
- 802.1p 优先级与内部优先级的映射关系
缺省情况下,所有华为 S 系列交换机的 802.1P 优先级 与内部优先级的映射关系是 一 样的,如表 10-3 所示.从中可以看出,这些交换机中 802.1p 优先级与内部优先级的缺省映射关系是按等 ...
- 测试误区《二》 python逻辑运算和关系运算优先级
关系运算 关系运算就是对2个对象进行比较,通过比较符判断进行比较,有6种方式. x > y 大于 x >= y 大于等于 x < y 小于 x <= y 小于等于 x = y ...
- 进程的优先级 与 CFS 进程调度
在Linux下改变进程的优先级 作者:曾老师,华清远见嵌入式学院讲师. 作为多任务的操作系统,Linux内核为每个创建的进程分配时间片并根据其优先级进行调度.当进程被创建时,其对应的task_stru ...
随机推荐
- 奇怪的回溯增加了 | leetcode131分割回文串
题目要求:给你一个字符串 s,请你将s分割成一些子串,使每个子串都是回文串.返回 s 所有可能的分割方案 示例 1: 输入:s = "aab" 输出:[["a" ...
- 【节选 转载】人形机器人Optimus擎天柱技术解析
参考原文: https://www.sohu.com/a/589454391_383324?scm=9010.8000.0.0.1265 可以利用动作捕捉"学习"人类动作,依靠视觉 ...
- 【转载】 tf.image.sample_distorted_bounding_box (为图像生成单个随机变形的边界框)
原文地址: https://blog.csdn.net/tz_zs/article/details/77920116 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上 ...
- 浪潮计算平台之AI方向——AI_Station开发环境的使用总结
概览: 1. 开发环境 使用默认的设置,不改挂载路径: 可以看到在容器内对挂载的目录进行文件操作是可以真实记录到实际的文件目录内的. 对挂载路径的另一种设置: 不使用默认的设置,手动更改挂载路径: ...
- pip install ale_python_interface 安装报错,ModuleNotFoundError: No module named 'ale_python_interface'——fatal error: ale_c_wrapper.h
参考: https://www.cnblogs.com/hasakei/p/10035198.html https://blog.csdn.net/senjie_wang/article/detail ...
- 国产软件如何让人再次失望——!20824 mindspore1.3.0gpu version can not compile from source code, because openmpi source code has bug
如题,该PR地址: https://gitee.com/mindspore/mindspore/pulls/20824#note_7053720 What type of PR is this? Un ...
- 增强用户体验:2个功能强大的.NET控制台应用帮助库
前言 对于.NET开发者而言,构建控制台应用程序时,如何提升用户交互的流畅性和满意度,是一个持续探索与优化的话题.今天大姚给大家分享2个功能强大的.NET控制台应用帮助库,希望可以帮助大家能够快速的构 ...
- SMU Summer 2023 Contest Round 9(2019 山东省大学生程序设计竞赛)
2019 山东省大学生程序设计竞赛 A. Calandar 纯模拟吧(感觉我做麻烦了(?), 就是如果问的是未来的日期,就用相隔天数取模后加上这天的星期, 如果问的是曾经的,就用这天的星期减去相隔天数 ...
- Linux内核如何访问另外一个模块的函数和变量 原创
一.问题整理 内核中两个模块,一个A,一个B,A模块中有操作函数,B模块要调用A模块的函数. 二.分析 这是一个驱动工程师经常遇到的一个问题,该问题其实是模块符号导出问题,实现该功能比较简单,借助EX ...
- 全志T113s3工业开发板文章汇总
全志T113s3工业开发板 T113开发交流QQ群:120575746 交流论坛:https://forums.100ask.net/c/aw/ 文章目录汇总 教程共计7章,下面是章节汇总:第0章_T ...