【Linux】进程(4):优先级

大家好,我是苏貝,本篇博客带大家了解Linux的进程(4):优先级,如果你觉得我写的还不错的话,可以给我一个赞👍吗,感谢❤️
在这里插入图片描述


目录

  • (A)什么是优先级
  • (B) 为什么要有优先级
  • (C) Linux的优先级的特点&&查看方式
    • 1. renice命令
    • 2. top命令

(A)什么是优先级

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

一个进程有一个task_struct结构体,所以里面有许多内部字段,内部字段中存在几个与优先级有关的数据(如:int prio=?)

Linux中优先级数字越小,优先级越高

(B) 为什么要有优先级

进程访问的资源(如CPU)始终都是有限的,而系统中大部分情况下进程都是较多的,所以要存在优先级

操作系统关于调度和优先级的原则:分时操作系统(采用时间片轮转)

分时操作系统能保证基本的公平(每个进程一次最多只能被CPU调度一个时间片的时间,超过则被操作系统剥离出CPU,让其它进程被调度)。如果进程长时间不被调度,就会造成饥饿问题,在用户层面就觉得进程卡住了

(C) Linux的优先级的特点&&查看方式

先写出.c文件
在这里插入图片描述

编译运行,用ps -al查看进程信息
在这里插入图片描述

其中,PRI:进程优先级(Linux中进程的默认优先级是80
NI:进程优先级的修正数据,nice值。

新的优先级=优先级+nice ,达到对于进程优先级动态修改的过程。但是nice并不能任意设置,而是有范围的,范围:[ -20,19](40个数据) 。如果nice>0,优先级数字变大,优先级越低;nice<0,优先级数字变小,优先级越高。

现在我们来试试动态修改进程的优先级

1. renice命令

renice nice -p pid

renice命令在Linux中用于修改已经运行的进程的优先级,且修改的是修正数据nice。
在这里插入图片描述

运行进程,进程一开始的优先级=80,nice=0;修改nice=40(超出范围,只能取19),新的优先级=优先级+nice=99

2. top命令

先运行进程,再执行top命令
在这里插入图片描述

出现上图后,直接按r,出现下面图片内容
在这里插入图片描述

按下想要修改优先级进程的pid,输入后会让我们输入想要修改的nice值
在这里插入图片描述

我们输入40,再按q退出top进程。再用ps -al查询进程的优先级,如我们所想的那样,99=80+19
在这里插入图片描述

上面是让nice>0,优先级数字变大,优先级变低。下面我们让nice<0,即优先级变高。注意:只有root能让nice<0,普通用户只能让nice>0

如果用普通用户:让nice=-10,最后会报错
在这里插入图片描述

我们用root来修改,从普通用户到root,只需要su -,然后输入root的密码。
执行top进程,再r,再输入想修改优先级进程的pid,输入nice值=-10,退出top进程(按q)

在这里插入图片描述

用ps -al查询进程的优先级
在这里插入图片描述

咦,为什么是70呢?不应该是99-10=89吗?事实上,每次调整优先级,都是从80开始的。也就是说,如果我们继续将nice设为10,那么优先级=80+10=90


好了,那么本篇博客就到此结束了,如果你觉得本篇博客对你有些帮助,可以给个大大的赞👍吗,感谢看到这里,我们下篇博客见❤️

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

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

相关文章

代码随想录第23天|回溯part3 组合与分割

39.组合总和 class Solution { public:vector<vector<int>> res;vector<int> path;void backTracking(vector<int>& candidates,int target,int sum,int n,int step){if(n > 150) return;if(sum > target) return;if(sum target){res.push_…

亿发:制造型企业信息化规划——从破冰到全面落地

在制造型企业中&#xff0c;信息化规划的落地是一个复杂而关键的过程。尽管规划和蓝图可能已经制定完毕&#xff0c;但如何成功地实施信息化才是关键所在。本文将详细介绍制造型企业信息化规划的落地过程&#xff0c;通过三个周期逐步推进&#xff0c;最终实现信息化与自动化的…

git commit使用husky校验代码格式报错,没有将钩子 ‘.huskypre-commit‘ 设置为可执行,钩子被忽略。

使用git提交代码时&#xff0c;通过husky校验代码格式&#xff0c;终端报错 因为没有将钩子 .husky/pre-commit 设置为可执行 系统&#xff1a;Mac husky 在 Windows 上能够正常运行 解决办法 # 没有权限就给个权限 使用 chmod x 给权限 # 通过这行命令解决husky钩子不执行…

Facebook代运营 | Facebook广告投放步骤及要点

Facebook体量大&#xff0c;素材的更新频率快&#xff0c;通过Facebook进行广告投放的用户也越来越多&#xff0c;Facebook坐拥大量用户&#xff0c;同时有着非常科学的用户画像构建系统和推送机制&#xff0c;对于很多广告涉足的伙伴来说&#xff0c;更加的友好。 1. 创建广告…

Unity3D获得服务器时间/网络时间/后端时间/ServerTime,适合单机游戏使用

说明 一些游戏开发者在做单机游戏功能时&#xff08;例如&#xff1a;每日奖励、签到等&#xff09;&#xff0c;可能会需要获得服务端标准时间&#xff0c;用于游戏功能的逻辑处理。 问题分析 1、自己如果有服务器&#xff1a;自定义一个后端API&#xff0c;客户端按需请求…

揭秘App推广新秘诀:Xinstall助你轻松触达海量用户

随着互联网的快速发展&#xff0c;App市场竞争日益激烈&#xff0c;如何在众多的App中脱颖而出&#xff0c;成为企业关注的焦点。然而&#xff0c;随着流量红利的衰退&#xff0c;传统的推广方式已经无法满足企业的需求。在这个关键时刻&#xff0c;Xinstall作为一款专业的App推…

第二篇 多路数据选择器

实验二 多路数据选择器 2.1 实验目的 理解多路数据选择器的概念&#xff1b; 使用门级结构描述实现多路选择器&#xff1b; 使用行为描述实现多路选择器&#xff1b; 完成实验设计、仿真&#xff0c;并在DE1-SOC上验证电路。 2.2 原理介绍 在多路数据传送过程中&#xf…

黑马微服务实用篇知识梳理

1、微服务治理 1.1服务注册与发现Eureka和Nacos a、nacos和eureka&#xff0c;二者都支持服务注册与发现&#xff0c;但nacos还包括了动态配置管理、服务健康监测、动态路由等功能&#xff0c;是更全面的服务管理平台 b、eureka需要独立部署为服务并运行&#xff0c;需要自行搭…

elementUI - 折叠以及多选的组件

//子组件 <template><!-- 左侧第二个 --><div class"left-second-more"><div class"layer-list-wrapper1"><el-collapse v-model"activeNames" change"handleChange"><el-collapse-item v-for"…

分享一个比较好用的在线串口调试助手

web在线调试助手 链接地址如下&#xff1a; 在线串口调试在线串口调试助手 Online serial port debugging assistanthttps://www.bbaiot.com/

QT treeWidget如何添加虚线

1、添加以下代码即可&#xff1a; ui.treeWidget->setStyle(QStyleFactory::create("windows"));2、效果如下&#xff1a;

文件夹加密软件哪个好用?文件加密的4个必备方法(2024)

如果您的电脑上有重要的个人或商业内容&#xff08;例如知识产权&#xff09;&#xff0c;您可能想知道如何确保数据的安全。如果笔记本电脑丢失或被盗&#xff0c;他人可能会访问硬盘驱动器的内容&#xff0c;从而获取到您的个人隐私信息。因此&#xff0c;通过文件夹加密软件…

LLM主要类别架构

LLM主要类别架构介绍 LLM主要类别 LLM本身基于transformer架构。自2017年&#xff0c;attention is all you need诞生起&#xff0c;transformer模型为不同领域的模型提供了灵感和启发。基于原始的Transformer框架&#xff0c;衍生出了一系列模型&#xff0c;一些模型仅仅使用e…

【YOLOv5进阶】——模型结构与模型原理YOLOv5源码解析

一、基础知识 1、backbone backbone是核心组成部分&#xff0c;主要负责提取图像特征。具体来说&#xff0c;backbone通过一系列的卷积层和池化层对输入图像进行处理&#xff0c;逐渐降低特征图的尺寸同时增加通道数&#xff0c;从而保留和提取图像中重要的特征。这些提取出的…

标准发布 | 废水处理减污降碳协同评估指南(碳中和标准)

本文件主编单位&#xff1a;北京林业大学、北京交通大学、中国电建集团华东勘测设计研究院有限公司、 眉山市城投中恒能环保科技有限公司、 中华环保联合会水环境治理专业委员会。 本文件参编单位&#xff1a;中国市政工程中南设计研究总院有限公司、湖北君集环境科技股份有 公…

新型的余热回收系统为印染行业的节能减排助力

上海国际纺织机械展会上,一款新型的余热回收系统引起了印染界大佬们的关注。我国是纺织大国,纺织行业是我国的重要支柱产业。作为传统的能耗大户,印染行业能源消耗占非常高,尤其是定型机能耗。在能源价格不断上涨和环保要求日益严格的背景下,降低定型机能耗、提高能源利用效率成…

【Spring Cloud Alibaba】服务注册与发现+远程调用

目录 注册微服务到Nacos&#xff08;服务提供者&#xff09;创建项目修改依赖信息添加启动注解添加配置信息启动服务&#xff0c;Nacos控制台查看服务列表 注册微服务到Nacos&#xff08;服务消费者&#xff09;创建项目添加依赖信息添加启动注解添加配置信息启动服务&#xff…

学生信息管理系统C++

设计目的 使学生进一步理解和掌握课堂上所学的面向对象C编程知识&#xff0c;巩固和加深学生对C面向对象课程的基本知识的理解和掌握。掌握C面向对象编程和程序调试的基本技能&#xff0c;学会利用C语言进行基本的软件设计&#xff0c;着重提高运用C面向对象语言解决实际问题的…

生成式 AI——ChatGPT、Dall-E、Midjourney 等算法理念探讨

1.概述 艺术、交流以及我们对现实世界的认知正在迅速地转变。如果我们回顾人类创新的历史&#xff0c;我们可能会认为轮子的发明或电的发现是巨大的飞跃。今天&#xff0c;一场新的革命正在发生——弥合人类创造力和机器计算之间的鸿沟。这正是生成式人工智能。 生成模型正在模…

【遂愿赠书 - 1期】:安恒“网安三剑客”-大模型时代下的网络安全实战指南

文章目录 一、图书背景二、网安实战宝典2.1《内网渗透技术》2.2《渗透测试技术》2.3《Web应用安全》 三、校企合作&#xff0c;产学研结合四、大模型时代的数字安全五、 网络安全无小事 一、图书背景 大模型风潮已掀起&#xff0c;各大巨头争相入局&#xff0c;从ChatGPT到Sor…