【linux】进程优先级

目录

一、基本概念

二、查看进程优先级

三、nice值和进程优先级的修改

1.操作步骤

2.不可频繁修改进程优先级

四、进程优先级的变化范围

结论


一、基本概念

1.进程优先级是CPU资源分配的先后顺序,就是指进程的优先权,与权限不同的是,相比于权限的能不能,这些进程已经确定能够得到CPU的资源分配了,只不过是先后的问题罢了。

2.优先级高的进程有优先执行权利,配置进程优先权对多任务环境的Linux很有用,可以改善系统性能。

3.还可以把进程运行到指定的CPU上,这样一来,把不重要的进程安排到某个CPU,可以大大改善系统整体性能。

为什么要有进程的优先级呢?因为资源有限,要分配资源,就得设置优先级,决定进程获得某种资源的先后顺序。

二、查看进程优先级

先写一个打印hello world的死循环,方便查看进程优先级,执行后我们可以用ps -l来查看进程的优先级,但是这个指令只能查看bash进程的优先级,要想查看我们运行的进程的优先级需要用指令ps -al,如下:

接下来一一介绍如上图的优先级核心相关参数的意义

1.UID:代表执行者的身份,可以根据这个精准查到对进程优先级操作的人。

2.PID:进程的代号

3.PPID:进程的父进程代号

4.PRI:进程可被执行的优先级,其值越小越早被执行。

5.NI:代表这个进程的nice值,可用于修改进程的优先级。

三、nice值和进程优先级的修改

nice值是进程优先级的修正值,PRI表示进程优先级,修改进程优先级的计算方式为PRI(new) = PRI(old)+ nice,nice值默认为0,PRI(old)默认为80,属于定值,并非是上一次的PRI值,而是一直不变的定值,最后显示出来的PRI是计算得出的PRI(new)结果。

1.操作步骤

因此我们要修改进程的优先级就必须要修改nice值,要修改nice值,就需要以下几个步骤:

1.输入top指令

2.按下键盘'r'

3.输入进程PID

4.输入要修改成的nice值

最后回车即可,我们按q退出再来查看一下进程的优先级变化:

很显然,在原定值优先级为80的情况下加入值为10的NI(nice值),最后得到的进程优先级为90。

2.不可频繁修改进程优先级

在承接上一次的nice值修改之后,我用同样的步骤要将nice值修改为-10,也就是改回来,发现失败了,如下:

如果要强行修改,需要sudo提升权限,因此得出结论,进程优先级不可频繁修改,这是系统的自我保护,频繁修改nice值会导致CPU调度频繁切换,打破原有的调度平衡,增加系统开销,反而降低整体效率。

四、进程优先级的变化范围

刚才我们尝试修改进程优先级的时候,也只是把nice值修改为10或者-10,那如果我们把它修改得更大会怎么样呢?

此时我将nice值修改为100,我们来看看进程的优先级是不是变成了180:

发现了NI竟然在19就封顶了不能再大了!!!这是巧合吗?我们再试试看将nice值修改为-100(这里注意一点,普通用户修改nice值不能修改为负数,想要实验负数的范围,就必须要用sudo提升用户权限,即sudo top指令回车进入)

那么我们来把nice值修改为-100试试看:

这里发现NI最小也只能到-20,于是我们得出以下结论:

NI(nice值)的修改范围:【-20,19】

PRI(进程优先级)的范围:【60,99】

结论

进程优先级的变化范围只有40个梯度,是有限的,它强制我们更改优先级就不能改的太狠了,我们生活中遇到的操作系统基本上是属于分时操作系统,即多个进程轮流占用资源,实现并发的操作系统,有限的优先级变化范围,这样的调度策略,给进程分配时间片,相对公平公正,能够较为均衡地让不同的进程都能在一段时间内,能够得到CPU资源,同时满足人与互联网的需求。

相关推荐
dddwjzx5 分钟前
嵌入式Linux C应用编程入门——进程 ( 二 )
linux·嵌入式
坐望云起32 分钟前
FFmpeg.wasm 纯浏览器端视频压缩与格式转换实战:零服务器、零上传、100% 隐私
服务器·ffmpeg·wasm
SSO_Crown43 分钟前
AI 招聘管理系统深度评测与选型指南
大数据·运维·人工智能
cft56200_ln1 小时前
gPTP Master 报文目的 MAC 地址
运维·服务器·网络
jieyucx2 小时前
【系统安全铁律】解密 Linux 权限三色数字密码:chmod 最小化赋权与生产环境避坑指南
linux·安全·系统安全·权限·chmod·777
AOwhisky3 小时前
Linux(CentOS)系统管理入门笔记(第四期)——文件系统(下篇):文件与目录操作实战——cpmvmkdirrmln
linux·运维·笔记·centos·云计算·文件系统
岑梓铭3 小时前
考研408《操作系统》复习笔记,第四章《4.2.2 文件操作、文件共享、文件保护》
linux·考研·操作系统·文件系统·408
Mr.HeBoYan3 小时前
DPDK为什么越来越少使用rte_ring?——从Lock-Free到Run-to-Completion,重新理解现代DPDK架构演进(上)
linux·网络·算法·性能优化·架构·dpdk
XTIOT6663 小时前
CRPT 诚实标识采集落地技术实践:分工况硬件选型与合规数据标准化解决方案
大数据·运维·人工智能·嵌入式硬件·物联网
weixin_505061454 小时前
线束中国探展专访|广东星坤:以高可靠互连突围,打造国产连接器全球化标杆
运维