Linux操作系统从入门到实战(二十)进程优先级
Linux操作系统从入门到实战(十九)进程优先级
- 前言
- 一、进程优先级
- 1 基本概念
- 2 查看系统进程
- 3 PRI 和 NI 是什么?
- 4 PRI 和 NI 的区别
- 5 怎么调整进程优先级?
- 6 补竞争、独立、并行、并发
前言
- 上一篇博客中,我们介绍了进程状态,以及僵尸进程与孤儿进程;
- 这一篇,我们将讲解进程优先级。
我的个人主页,欢迎来阅读我的其他文章
https://blog.csdn.net/2402_83322742?spm=1011.2415.3001.5343
我的Linux知识文章专栏
欢迎来阅读指出不足
https://blog.csdn.net/2402_83322742/category_12879535.html?spm=1001.2014.3001.5482
一、进程优先级
1 基本概念
我们的电脑里可能同时运行着很多程序(比如浏览器、微信、音乐软件),但CPU(电脑的“大脑”)一次能处理的任务有限。
-
这时候就得给这些程序分个“先后顺序”——这就是进程优先级。
-
优先级高的程序,CPU会先处理它,响应速度更快。
-
比如在Linux系统里,给重要的程序(像系统核心程序)设高优先级,不重要的(像后台下载)设低优先级,电脑整体运行会更流畅。
还能指定某个程序只在特定的CPU核心上运行(比如电脑有4个CPU核心,让下载软件只用第4个),这样就不会影响其他核心上的重要程序,进一步提升效率。
2 查看系统进程
想知道当前电脑里的程序优先级?在Linux或Unix系统里,用 ps -l
命令就能看到相关信息。输出结果里有几个关键信息要注意:
- UID:谁在运行这个程序(比如你的用户账号ID)。
- PID:每个程序的“身份证号”,独一无二,用来区分不同程序。
- PPID:这个程序的“爸爸”(父进程)的ID。比如你双击打开微信,“双击”这个动作可能就是微信的父进程。
- PRI:程序的优先级数值,数字越小,优先级越高(比如PRI=10的程序比PRI=20的先被CPU处理)。
- NI:后面会重点说的“nice值”,用来调整优先级的“修正器”。
3 PRI 和 NI 是什么?
前面提到了PRI和NI,这俩是调整优先级的核心,我们拆开来理解:
-
PRI(优先级):直接决定程序被CPU处理的先后顺序,数值越小越优先。比如PRI=5的程序,会比PRI=10的先“插队”。
-
NI(nice值):它不是优先级本身,而是用来“修正”PRI的。比如原来PRI是20,加上NI的值后,新的PRI就变成:
PRI(新) = PRI(旧) + NI
举个例子:
- 如果NI是 -5,原来PRI=20,新PRI就是15(变小了)→ 优先级变高,更快被处理。
- 如果NI是 10,原来PRI=20,新PRI就是30(变大了)→ 优先级变低,更晚被处理。
注意:NI的取值范围是 -20到19(一共40个级别),-20是最大的“加急”,19是最大的“减速”。
4 PRI 和 NI 的区别
很多人会搞混这俩,其实它们不是一回事:
- PRI是“最终的优先级”,直接决定执行顺序;
- NI是“调整PRI的工具”,相当于给PRI做“加减分”。
比如考试分数(PRI)= 平时成绩(PRI旧)+ 附加分(NI)。附加分(NI)会影响最终分数(PRI),但它本身不是分数。
5 怎么调整进程优先级?
主要用这些工具:
-
top命令(改已运行的程序):
- 输入
top
回车,进入进程监控界面; - 按
r
键,输入要调整的程序的PID(前面说的“身份证号”); - 再输入想设置的NI值(比如输入-5,让它优先级变高)。
- 输入
-
其他命令:
nice
:启动程序时直接设置NI值(比如nice -n 5 程序名
,让程序启动时NI=5,优先级降低)。renice
:调整已运行程序的NI值(比如renice 10 -p 1234
,给PID=1234的程序设NI=10)。
6 补竞争、独立、并行、并发
- 竞争性:电脑里程序多,但CPU少,就像很多人抢少数几个座位,必须分优先级才能有序。
- 独立性:每个程序运行时互不干扰,比如微信崩溃了,浏览器还能正常用。
- 并行:多个CPU同时处理多个程序。比如电脑有2个CPU核心,一个跑浏览器,一个跑音乐软件,两者真正“同时”运行。
- 并发:只有一个CPU时,它快速在多个程序间切换(比如先处理浏览器0.1秒,再切到微信0.1秒),看起来像“同时”运行,其实是轮流处理。
以上就是这篇博客的全部内容,下一篇我们将继续探索Linux的更多精彩内容。
我的个人主页
欢迎来阅读我的其他文章
https://blog.csdn.net/2402_83322742?spm=1011.2415.3001.5343
我的Linux知识文章专栏
欢迎来阅读指出不足
https://blog.csdn.net/2402_83322742/category_12879535.html?spm=1001.2014.3001.5482
非常感谢您的阅读,喜欢的话记得三连哦 |