0

0

Linux-进程优先级

爱谁谁

爱谁谁

发布时间:2025-06-20 13:44:28

|

580人浏览过

|

来源于php中文网

原创

  1. 为什么要有优先级的概念

在大多数计算机中,cpu一次只能处理一个进程任务,但通常有多个进程需要运行。为了更有效地利用cpu资源,引入了进程优先级的概念,以决定进程获取cpu资源的顺序。这类似于生活中的排队情况,除了遵循先来后到的原则,优先级高的进程可以插队,就像在医院急诊病人可以优先挂号一样。提问:有没有可能因为大量的优先级更高的进程插队导致低优先级的进程迟迟得不到执行?回答:这涉及到进程饥饿的问题。在linux中,有相关的解决方法,linux会维护两个队列,一个为活跃队列,另一个为过期队列,这里就不详细讲解了。

  1. 进程优先级的基本概念

CPU资源分配的先后顺序,就是指进程的优先级(priority)。优先级高的进程有优先执行的权力。在多任务环境的Linux中,配置进程优先级可以改善系统性能。通过将不重要的进程分配到特定的CPU上,可以大大提升系统的整体性能。进程要访问某种资源,必须通过一定的方式确定享受资源的先后顺序。有人可能会将进程的优先级与权限进行类比,但两者其实是不同的:

  1. 查看系统进程

在Linux或Unix系统中,输入ps -l会显示以下内容:

Linux-进程优先级

进程优先级下面我们来介绍各个符号的意义:

  • UID:代表执行者的身份。
  • PID:代表这个进程的代号。
  • PPID:代表这个进程是由哪个进程发展衍生而来的,也就是父进程的代号。
  • PRI:代表这个进程可被执行的优先级,其值越小优先级越高。
  • NI:代表这个进程的nice值。

3.1 介绍PRI和NI

PRI就是进程的优先级,通俗地说就是程序被CPU执行的先后顺序,此值越小进程的优先级越高。优先值范围为[60,99],一般默认的优先级为80。NI就是我们要说明的nice值,表示进程可被执行的优先级的修正数值。PRI越小越快被执行,那么加入nice值后,就会得到新的PRI:PRI(NEW) = PRI(OLD)+nice。如此一来,当nice值为负值的时候,那么该程序的优先值会变小,其优先级会变高,从而更快被执行。nice的取值范围为[-20,19],一共40个级别,这也对应了第一点。

3.1.1 调整进程的优先级

动软商城系统
动软商城系统

动软商城系统是一款优秀的网上商城系统,经营者只需要轻松的后台操作,就可以马上拥有功能强的网上销售系统,同时动软商城系统提供多样的营销手段帮助您成功打开网上销售市场。动软的模版界面机制,可以轻松的搭建出风格各异的界面,最大限度的满足经营者的要求,还拥有专业SEO优化系统,大大提高网页被搜索引擎抓取收录的几率。动软商城系统先进的流程控制技术全面促进进、销、存等系统的协同,支持企业数据整合和网络资源信息

下载

通过公式PRI(NEW) = PRI(OLD)+nice,我们知道,调整进程的优先级的本质就是调整nice的值。指令:top

进入top后按“r”->输入进程PID->输入nice值

演示:修改nice值为100。

Linux-进程优先级

修改nice值为100。通过演示我们可以发现,尽管nice的值被修改为100,PRI的值变成了99。这也证明了PRI的范围。值得注意的是,每次都是直接给nice赋值,而不是在原有nice的基础上加减。提问:为什么调整优先级要受限制?回答:如果不加限制,将自己进程的优先级调整得非常高,别人的优先级调整得非常低,优先级较高的进程优先得到资源,后续源源不断的进程产生。常规进程很难享受到CPU的资源,也就造成了进程饥饿问题。

  1. Linux的调度与切换

提问:在进程运行时,CPU会直接把进程代码跑完吗?答案:不会,现代操作系统是基于时间片进行轮流执行的,假设每个进程执行1ms,那么CPU在每1ms都会切换进程来执行。

一些其他概念

  • 竞争性:系统进程数目众多而CPU资源有限,甚至只有一个,所以进程间具有竞争属性。为了高效完成任务,更合理地竞争相关资源,便有了优先级。
  • 独立性:多进程运行,需要独享各种资源,多进程运行期间,互不干扰。
  • 并行:多个进程在多个CPU下分别、同时进行运行,这称之为并行。
  • 并发:多个进程在一个CPU下采用进程切换的方式,在一段时间之内,让多个进程得以推进,称之为并发。

相关专题

更多
磁盘配额是什么
磁盘配额是什么

磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。

1349

2023.06.21

如何安装LINUX
如何安装LINUX

本站专题提供如何安装LINUX的相关教程文章,还有相关的下载、课程,大家可以免费体验。

703

2023.06.29

linux find
linux find

find是linux命令,它将档案系统内符合 expression 的档案列出来。可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。find根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部分为 path,之后的是 expression。还有指DOS 命令 find,Excel 函数 find等。本站专题提供linux find相关教程文章,还有相关

294

2023.06.30

linux修改文件名
linux修改文件名

本专题为大家提供linux修改文件名相关的文章,这些文章可以帮助用户快速轻松地完成文件名的修改工作,大家可以免费体验。

776

2023.07.05

linux系统安装教程
linux系统安装教程

linux系统是一种可以免费使用,自由传播,多用户、多任务、多线程、多CPU的操作系统。本专题提供linux系统安装教程相关的文章,大家可以免费体验。

572

2023.07.06

linux查看文件夹大小
linux查看文件夹大小

Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。linux怎么查看文件夹大小呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

545

2023.07.20

linux查看ip命令
linux查看ip命令

本专题为大家提供linux查看ip命令相关文章内容,感兴趣的朋友可以免费下载体验试试。

297

2023.07.20

linux查看cpu使用率
linux查看cpu使用率

在linux的系统维护中,可能需要经常查看cpu使用率,分析系统整体的运行情况。本专题为大家带来了linux查看cpu使用率的相关文章,感兴趣的朋友千万不要错过了。

381

2023.07.25

PHP WebSocket 实时通信开发
PHP WebSocket 实时通信开发

本专题系统讲解 PHP 在实时通信与长连接场景中的应用实践,涵盖 WebSocket 协议原理、服务端连接管理、消息推送机制、心跳检测、断线重连以及与前端的实时交互实现。通过聊天系统、实时通知等案例,帮助开发者掌握 使用 PHP 构建实时通信与推送服务的完整开发流程,适用于即时消息与高互动性应用场景。

3

2026.01.19

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PostgreSQL 教程
PostgreSQL 教程

共48课时 | 7.4万人学习

Git 教程
Git 教程

共21课时 | 2.8万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号