【Linux】进程优先级 | 环境变量

目录

Ⅰ. 进程优先级(Process Priority)

1. 什么是进程优先级?

2. 查看系统进程

3. 修改进程优先级

4.优先级调度原理 

Ⅱ. 进程的切换(Process Switch)

1. 竞争与独立

2. 并行与并发

3. 进程抢占

4.实现切换

Ⅲ. 环境变量(Environment Variables)

1. 什么是环境变量?

2. 常见的环境变量

3. 设置环境变量

​编辑

文章手稿


文章手稿可见文末

Ⅰ. 进程优先级(Process Priority)

1. 什么是进程优先级?

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

2. 查看系统进程

在Linux或Unix系统中,可以使用ps -l命令查看系统进程的相关信息,包括UID、PID、PPID、PRI和NI等。PRI代表进程的优先级,NI代表进程的nice值。PRI值越小,进程的优先级越高。

查看一下:

3. 修改进程优先级

修改进程优先级主要是通过修改nice值实现的,nice值范围为-20至19,数值越小,优先级越高。可以使用nicerenice命令或通过top命令进行修改。

$ sudo top
# 在top命令界面按“r”键,输入进程PID和新的nice值

 就可以发现修改成功啦

4.优先级调度原理 

底层原理:

Ⅱ. 进程的切换(Process Switch)

1. 竞争与独立

  • 进程之间存在竞争性,因为系统资源有限。
  • 多进程运行期间,每个进程需要独享资源,不会互相干扰,这体现了进程的独立性。

2. 并行与并发

  • 并行是指多个进程在多个CPU下同时运行;
  • 并发是指多个进程在单个CPU下通过进程切换的方式,在一段时间内推进多个进程的执行

3. 进程抢占

抢占式内核允许优先级高的进程抢占CPU资源。当一个低优先级进程正在运行时,如果来了一个高优先级的进程,调度器会将低优先级进程剥离CPU,切换到高优先级进程。

4.实现切换

当进程在被执行的过程中,一定会存在大量的临时数据,会暂存在 CPU 内的寄存器中。

我们把进程在运行中产生的各种寄存器数据,我们叫进程的硬件上下文数据。

  • 当进程被剥离:需要保存上下文数据
  • 当进程恢复时:需要将曾经保存的上下文数据恢复到寄存器中。

调度器根据保存的进程上下文,就可以实现进程切换啦

上下文在哪里保存?task_struct !


Ⅲ. 环境变量(Environment Variables)

1. 什么是环境变量?

环境变量是操作系统中用来指定运行环境的一些参数。它们通常具有全局特性,可以影响系统和应用程序的行为。

❓ 思考:为什么我们的代码运行要带路径,而系统的指令不用带路径?

系统中是存在相关的 环境变量,保存了程序的搜索路径的!

为什么我们的代码运行要带路径,而系统的指令不用带?其本质是由环境变量 PATH 引起的!

2. 常见的环境变量

我们可以通过 env 指令查看环境变量

  • PATH: 指定命令的搜索路径

 如何查看环境变量的内容?我们可以使用 echo  去显示:

环境变量 PATH 中会承载多种路径,中间用冒号 ( : ) 作为分隔符。

  • HOME: 指定用户的主工作目录
  • SHELL: 当前Shell的位置

3. 设置环境变量

可以使用echo命令查看环境变量的值,使用export命令设置新的环境变量。

$ echo $PATH
$ export PATH=$PATH:/my/custom/path

为了使自定义的可执行程序不带路径也能执行,可以将程序所在路径加入到PATH环境变量中。

$ export PATH=$PATH:/path/to/your/program

创建与删除: 

$ export MYENV="hello world"
$ unset MYENV

一些常见环境变量的查看:


文章手稿

 

 

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

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

相关文章

MYSQL存储过程的创建

关于存储过程的题目 1、创建存储过程,查看user表中的所有数据 2、创建存储过程avg_order_quantity,返回所有订单的平均工资 3、创建存储过程show_max_bprice,用来查看bookS的单价最贵的价格 4、创建存储过程show_min_bprice,用来查看bookS的单价最低的价格,并将…

Unity免费领高级可视化编程自定义节点工具AI行为UI流程对话树状态机逻辑等FlowReactor价值50刀high level20240627

刚发现一款类似虚幻蓝图的可视化编程工具,原价50刀,现在免费领取了。赶紧去领取入库,防止作者涨价。 高级可视化编程自定义节点工具:https://prf.hn/l/BJbdvnD 作者其他资产:https://prf.hn/l/YLAYznV Unity免费领高级…

C#udpClient组播

一、0udpClient 控件: button(打开,关闭,发送),textbox,richTextBox 打开UDP: UdpClient udp: namespace _01udpClient {public partial class Form1 : Form{public Form1(){Initi…

springboot+vue+mybatis母婴二手销售系统+PPT+论文+讲解+售后

目前由于我国二手销售的规模较小,同发达国家相比,二手销售比重始终偏低,消费总额增长缓慢,进一步抑制了市场消费的提升,随着市场竞争的日益激烈,虽然许多商家主动选用二手销售模式,但却缺乏对其充分的重视与销售风险的良性控制,一些商家没有建立独立的信用实践管理部门,无法在交…

pytest测试框架pytest-order插件自定义用例执行顺序

pytest提供了丰富的插件来扩展其功能,本章介绍插件pytest-order,用于自定义pytest测试用例的执行顺序。pytest-order是插件pytest-ordering的一个分支,但是pytest-ordering已经不再维护了,建议大家直接使用pytest-order。 官方文…

如何预防和处理他人盗用IP地址?

IP地址的定义及作用 解释 IP 地址在互联网中的作用。它是唯一标识网络设备的数字地址,类似于物理世界中的邮政地址。 1、IP地址盗窃的定义 解释一下什么是IP地址盗用,即非法使用他人的IP地址或者伪造IP地址的行为,这种行为可能引发法律和安…

DV SSL证书如何升级到OV SSL 证书

随着互联网的发展和用户对数据安全性的关注,越来越多的网站开始采用SSL证书来保护用户的隐私和数据。在选择SSL证书时,有些网站可能会首先选择经济实惠的DV(域名验证)证书,但随着业务的发展和用户需求的增加&#xff0…

ONLYOFFICE 8.1版本桌面编辑器测评

随着科技的进步和办公需求的不断提升,办公软件成为了日常工作中不可或缺的一部分。近日,ONLYOFFICE 推出了其最新版本的桌面编辑器——8.1版。 本文将详细介绍ONLYOFFICE 8.1版本桌面编辑器的各项新功能和改进,帮助用户了解并更好地使用这一高…

谷粒商城实战(044集群学习-redis集群)

Java项目《谷粒商城》架构师级Java项目实战,对标阿里P6-P7,全网最强 总时长 104:45:00 共408P 此文章包含第365p-第p367的内容 介绍 以前的分区方式 客户端分区 代理分区 高可用方式 哨兵方式(3.0以前的方式) redis-cluster分…

【区间动态规划】1771. 由子序列构造的最长回文串的长度

本文涉及知识点 动态规划汇总 LeetCode1771. 由子序列构造的最长回文串的长度 给你两个字符串 word1 和 word2 ,请你按下述方法构造一个字符串: 从 word1 中选出某个 非空 子序列 subsequence1 。 从 word2 中选出某个 非空 子序列 subsequence2 。 连…

数据结构之树的超详细讲解(附C实现代码)

目录 树的基本性质 二叉树 定义树结点结构体 建树 根据二叉树的层次遍历建树 根据前序或后序建树 遍历二叉树 前序遍历 中序遍历 后序遍历 根据前序和中序序列输出后序序列 根据后序和中序序列输出前序序列 根据前序和后序判断树的个数 求树的高度(DFS) 求树的宽…

学习笔记——动态路由——RIP(RIP路由汇总介绍)

四、RIP路由汇总介绍 当网络中路由器的路由条目非常多时,可以通过路由汇总(又称路由汇聚或路由聚合)来减少路由条目数,加快路由收敛时间和增强网络稳定性。 路由汇总的原理是,同一个自然网段内的不同子网的路由在向外…

使用语义熵检测大语言模型中的幻觉

使用语义熵检测大语言模型中的幻觉 Detecting hallucinations in large language models using semantic entropy 论文阅读摘要研究目标论文图表概述总结关键解决方案语义熵计算:虚构内容检测: 双向蕴涵在大语言模型中的应用上下文的重要性蕴涵估计器 实验设计语义熵计算步骤结…

[每周尝鲜]用GPTs排名全球Top1的 GitHub 代码仓库分析神器AI Code Analyzer解读每周热门项目

前言: GitHub 代码仓库分析神器AI Code Analyzer自1月12日在GPTs 上线以来,凭借其强大的功能和卓越的用户体验,取得了令人瞩目的成绩。收获了诸多好评,目前在同类插件中全球排行第一,已有1000用户正在使用。并且已入选…

自动化运维Ansible

目录 一、Ansible介绍 1.1 功能 1.2 特性 二、Ansible安装 2.1 yum安装 2.2 编译安装 2.3 相关文件 三、 Ansible配置和工具 3.1 主配置文件 3.2 inventory主机清单文件 3.3 ansible工具 3.4 ansible命令 3.5 ansible执行过程 四、Ansible模块 4.1 command模块 4…

Python (Ansbile)脚本高效批量管理服务器和安全

1、简介 在现代 IT 基础设施中,管理大量服务器是一项复杂而繁琐的任务。特别是在检查服务器的存活状态以及 SSH 登录等任务上,手动操作非常耗时且容易出错。本文将介绍如何使用 Python 脚本实现对多台服务器的批量检查和管理,包括检查服务器…

TCP、UDP详解

TCP和UDP是传输层的两个重要协议,也是面试中经常会被问到的,属于面试高频点。今天,我们来学习这两个协议。 1.区别 1.1 概括 TCP:有连接,可靠传输,面向字节流,全双工 UDP:无连接…

clip系列改进Lseg、 group ViT、ViLD、Glip

Lseg 在clip后面加一个分割head,然后用分割数据集有监督训练。textencoder使用clip,frozen住。 group ViT 与Lseg不同,借鉴了clip做了真正的无监督学习。 具体的通过group block来做的。使用学习的N个group token(可以理解为聚类…

探索音频创作的无限可能——Studio One 5 软件深度解析

Studio One 5 是一款功能强大且备受赞誉的音频制作软件,无论是专业音乐制作人还是业余爱好者,都能在其中找到满足自己需求的强大功能。 对于 Mac 和 Windows 用户来说,Studio One 5 提供了一个直观且友好的操作界面。其简洁明了的布局让用户…

CID引流电商:传统电商破局的新动力

摘要:CID引流电商为传统电商带来破局新机遇,通过跨平台引流、精准定位和高效转化,解决了流量获取难、成本高的问题,提升了销售业绩和市场竞争力。CID引流电商助力传统电商在激烈竞争中保持领先,推动行业持续发展。 随…