Linux进程优先级

一.什么是优先级

1.1 概念

        优先级是指定进程获取某种资源的先后顺序

  • cpu资源分配的先后顺序,就是指进程的优先权(priority)。
  • 优先权高的进程有优先执行权利。配置进程优先权对多任务环境的linux很有用,可以改善系统性能。
  • 还可以把进程运行到指定的CPU上,这样一来,把不重要的进程安排到某个CPU,可以大大改善系统整体性能

1.2 Linux下的优先级

        在Linux操作系统中,进程优先级的信息储存在进程控制块task_struct中,在其内部字段中存储着一个整型值prio,操作系统就可以根据这个整型值的大小就可以控制进程的优先级

        Linux下这个 整型值越小,优先级越高

1.3 优先级与权限的关系

  • 权限:决定进程能否进行资源的获取
  • 优先级:已经拥有获取资源的权限,决定获取资源的先后顺序

1.4.为什么会有优先级

        优先级存在的根本原因就是进程访问的资源(cpu)始终都是有限的,而系统大部分情况进程都是比较多的,并且大多数操系统对于调度和优先级的原则都是采用分时操作系统,这样可以保证对所有进程的相对公平,因为如果进程长时间不被调度就会发生饥饿问题

二.Linux优先级查看与修改

2.1 如何查看优先级

在linux或者unix系统中,用 ps –al 命令则会类似输出以下几个内容:

  • UID : 代表执行者的身份
  • PID : 代表这个进程的代号
  • PPID :代表这个进程是由哪个进程发展衍生而来的,亦即父进程的代号
  • PRI :代表这个进程可被执行的优先级,其值越小越早被执行
  • NI :代表这个进程的nice值
PRI与NI
  1. PRI就是进程的优先级,或者通俗点说就是程序被CPU执行的先后顺序,此值越小进程的优先级别越高
  2. NI就是我们nice值了,其表示进程可被执行的优先级的修正数值
  3. PRI(修改后) = PRI(修改前) + nice值 ,故调整进程的优先级大小就是调成nice值的大小
  4. 但是操作系统不会让我们随意修改进程的优先级大小,nice值取值范围是-20~19,一共40个级别
2.2 如何修改优先级

修改进程的优先级可以使用 top 指令

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

 为了方便查看进程优先级的详细信息,我们写一个死循环打印进程pid的程序,代码如下:

   //myprocess
   #include<stdio.h>
   #include<unistd.h>
   int main()
   {
     while(1)
     {
       printf("I am process pid:%d\n",getpid());
       sleep(1);                                                                             
     }
    return 0;
  }

首先,运行代码,使这个代码被调度起来,再通过ps -al来观察,可以看出当前进程的优先级大小为80

将优先级修改为90:nice值为10( 90= 80 + 10 )

ps:将优先级调高需要root权限

将优先级修改为70:nice值为-10( 70= 80 - 10 )

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/469353.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

项目五 实现对学生信息的简单查询

项目五 实现对学生信息的简单查询 1&#xff0c;查询数据库中部分字段的信息 使用select语句对表的选择及连接等操作&#xff0c;结构会生成一个临时表&#xff0c;将select结果存放到临时表中 查询数据表中所有字段的值 #格式&#xff1a;(*:表示所有列) select * from 表…

CTF题型 SSTI(2) Flask-SSTI典型题巩固

CTF题型 SSTI(2) Flask-SSTI典型题巩固 文章目录 CTF题型 SSTI(2) Flask-SSTI典型题巩固前记1.klf__sstiSSTI_Fuzz字典&#xff08;网上收集自己补充&#xff09; 2.klf_2数字问题如何解决了&#xff1f;|count |length都被禁&#xff1f; 3.klf_3 前记 从基础到自己构造paylo…

算法笔记p154最大公约数和最小公倍数

目录 最大公约数辗转相除法证明例子代码实现 最小公倍数代码实现 最大公约数 正整数a与b的最大公约数是指a与b的所有公约数中最大的那个公约数&#xff0c;一般用gcd(a, b)表示a和b的最大公约数。 辗转相除法 设a、b均为正整数&#xff0c;则gcd(a, b) gcd(b, a % b)。即被…

如何突破差旅补助管控盲区,让业务快人一步?

差旅补助一直是个热门话题&#xff0c;在差旅管理中备受关注。然而&#xff0c;由于补助场景分散&#xff0c;无法实现统一管理&#xff0c;以及补助也总是要经过反复核实才能发放等问题&#xff0c;使得差旅补助一直是个难题。 一、差旅补助管理存在以下三个主要痛点&#xff…

leecode1793 | 好子数组的最大分数 | 求给高度矩阵最大值

题目我就不念了&#xff0c;就一个字难理解&#xff0c;给的题总是这么难懂&#xff0c;总感觉出题人的语文是体育老师教的&#xff1f; 还有就是思维转变&#xff0c;才能能好的理解&#xff1f;一味的钻牛角尖死理解&#xff0c;效果不好 思维的转变 >悟性&#xff1f;&am…

机器人运动学参数辨识(DH参数误差标定)

文章目录 0. 前言1. 全微分几何参数误差模型1.1 末端位置全微分1.2 末端姿态全微分1.3 末端位姿全微分 2 机器人运动学参数辨识算法2.1 偏差辨识流程2.2 最小二乘法2.3 机器人定位误差补偿 3 参考文献 0. 前言 用于辨识几何参数误差的方法众多&#xff0c;其中较为常用的是最小…

C语言笔记:函数与程序结构

目录 ACM金牌带你零基础直达C语言精通-课程资料 一.作用域的基本概念 二.函数 1. 函数的定义和使用 2.为什么一定要有函数结构 3.形参与实参 4.函数的声明和定义 5.递归函数 此代码中递归函数执行流程&#xff1a; 练习&#xff1a;求斐波那契数列第n项的值&#xff1a; 欧几里…

Python-GEE绘制DEM精美图片

目录 上传矢量和DEM获取添加颜色条参考文章 先连接上GEE的自己的项目 import ee import geemap geemap.set_proxy(port33210) ee.Authenticate() ee.Initialize(projecta-flyllf0313)上传矢量和DEM获取 使用Google Earth Engine&#xff08;GEE&#xff09;和Google Earth Eng…

人外周血单核细胞来源树突状细胞(MoDC)的制备(二)

MoDC的制备 1.外周血单个核细胞的采集 1.1用血细胞分离机采集患者自身的外周血单个核细胞80-100ml&#xff1b; 1.2淋巴细胞分离液密度梯度离心法进一步纯化单个核细胞(PBMC) 。 1.3无血清培养液洗涤2次&#xff0c; 获得纯度在90%以上的PBMC&#xff0c; 细胞数量需达到1-…

HTML学习:图片格式——超链接

一、图片格式 1.jpg格式 概述:扩展名为.jpg 或.jpeg &#xff0c;是一种有损的压缩格式(把肉眼不容易观察出来的细节丢弃了)。 主要特点:支持的颜色丰富、占用空间较小、不支持透明背景、不支持动态图。 使用场景:对图片细节没有极高要求的场景&#xff0c;例如:网站的产品…

使用Windows远程访问Kali Linux桌面

安装xrdp、xfce4 apt-get install -y xrdp xfce4修改 xrdp 配置文件启用 xfce 桌面 vim /etc/xrdp/startwm.sh修改后文件如下&#xff1a; #!/bin/sh # xrdp X session start script (c) 2015, 2017, 2021 mirabilos # published under The MirOS Licence# Rely on /etc/pam…

Web API 持续集成:PostMan+Newman+Jenkins(图文讲解)

1. Web Api 测试工具选型 目前市场有很多的用于API 测试的工具&#xff0c;如Postman, SoapUI, YApi, HttpRunner等等。 2. 用Postman创建项目 选型做好了&#xff0c;第二步当然是Postman用起来了&#xff0c;创建自己的项目。参照Postman官网的文档。https://learning.get…

【YOLOv5改进系列(2)】高效涨点----Wise-IoU详细解读及使用Wise-IoU(WIOU)替换CIOU

WIOU损失函数替换 &#x1f680;&#x1f680;&#x1f680;前言一、1️⃣ Wise-IoU解读---基于动态非单调聚焦机制的边界框损失1.1 &#x1f393; 介绍1.2 ✨WIOU解决的问题1.3 ⭐️论文实验结果1.4 &#x1f3af;论文方法1.4.1☀️Wise-IoU v11.4.2☀️Wise-IoU v21.4.3☀️…

高性能 MySQL 第四版(GPT 重译)(一)

前言 由 Oracle 维护的官方文档为您提供了安装、配置和与 MySQL 交互所需的知识。本书作为该文档的伴侣&#xff0c;帮助您了解如何最好地利用 MySQL 作为强大的数据平台来满足您的用例需求。 本版还扩展了合规性和安全性在操作数据库足迹中的日益重要作用。隐私法律和数据主…

小小导出,我大前端足矣!

前言 常网IT戳我呀&#xff01;常网IT源码上线啦&#xff01;本篇录入技术选型专栏&#xff0c;希望能祝君拿下Offer一臂之力&#xff0c;各位看官感兴趣可移步&#x1f6b6;。有人说面试造火箭&#xff0c;进去拧螺丝&#xff1b;其实个人觉得问的问题是项目中涉及的点 || 热…

BUU [MRCTF2020]套娃

BUU [MRCTF2020]套娃 开题&#xff0c;啥也没有。 查看网页源代码发现后端源代码&#xff1a; <?php //1st $query $_SERVER[QUERY_STRING];if( substr_count($query, _) ! 0 || substr_count($query, %5f) ! 0 ){die(Y0u are So cutE!); }if($_GET[b_u_p_t] ! 23333 &am…

面试算法-61-二叉树的右视图

题目 给定一个二叉树的 根节点 root&#xff0c;想象自己站在它的右侧&#xff0c;按照从顶部到底部的顺序&#xff0c;返回从右侧所能看到的节点值。 示例 1: 输入: [1,2,3,null,5,null,4] 输出: [1,3,4] 解 class Solution {public List<Integer> rightSideView(T…

单目测距那些事儿(上) _ 从MobileEye谈起

单目测距那些事儿(上) | 从MobileEye谈起 全面专业的自动驾驶学习资料:链接 前言 在ADAS领域&#xff0c;有个功能叫自适应巡航控制(Adaptive Cruise Control, ACC)。 ACC是一种纵向距离控制&#xff0c;具体包括发现目标车辆、判断目标车辆所在路径、测量相对本车的距离和速…

B007-springcloud alibaba 消息驱动 Rocketmq

目录 MQ简介什么是MQMQ的应用场景异步解耦流量削峰 常见的MQ产品 RocketMQ入门RocketMQ环境搭建环境准备安装RocketMQ启动RocketMQ测试RocketMQ关闭RocketMQ RocketMQ的架构及概念RocketMQ控制台安装 消息发送和接收演示发送消息接收消息 案例订单微服务发送消息用户微服务订阅…