Linux_进程管理的基本概述
一、进程的基本概述
1️⃣:进程是已启动的可执行程序的运行中实例
2️⃣:/proc目录下以数字为名的目录,每一个目录代表一个进程,保存着进程的属性信息
3️⃣:每一个进程的PID是唯一的,就算进程退出了,其它进程也不会占用其PID
二、进程的组成部分
1️⃣:已分配内存的地址空间
2️⃣:安全属性,包括所有权凭据和特权
3️⃣:程序代码的一个或多个执行线程
4️⃣:进程状态
三、进程的环境
1️⃣:本地和全局变量
2️⃣:当前调度上下文
3️⃣:分配的系统资源,如文件描述符和网络端口
四、进程的产生
1️⃣:现有的(父)进程复制自己的地址空间(fork)来创建一个新的(子)进程结构
2️⃣:每个新进程分配有一个唯一的进程ID(PID),满足跟踪和安全性之需
3️⃣:PID与父进程ID(PPID)是新进程环境的元素
4️⃣:任何进程可创建子进程;所有进程都是第一个系统进程的后代;RHEL7上,第一个系统进程是systemd。
五、进程的分类
1️⃣:前台进程:与终端相关的进程,通过终端启动的进程
注意:也可把在前台启动的进程送往后台,以守护模式运行
2️⃣:守护进程:daemon,与终端无关的进程(如内核),在系统引导过程中启动的进程
六、进程状态描述
1️⃣:Excuting //正在运行
2️⃣:Ready //准备就绪状态,也可称作睡眠状态
- Uninterruptible sleep //不可中断的睡眠,不可随时唤醒,只有当IO资源加载成功后才能唤醒
- Interruptible sleep //可中断的睡眠。可随时唤醒
3️⃣:Zombie //僵尸进程。正常运行结束了,但是不释放占据的内存
4️⃣:Stopped //停止态,暂停于内存中,但不会被调度,除非手动启动之
5️⃣:进程睡眠的原因:当一个执行中的进程,需要加载额外的IO资源的时候,由于IO设备的速度太慢,所以会转入睡眠状态等待,交出CPU给其他进程,以免浪费剩余执行时间
七、Linux进程状态

八、进程优先级
1、Linux进程优先级
1️⃣:进程优先级范围:0-139,数字越小,优先级越高
- 0-99:实时优先级,内核调整
- 100-139:静态优先级,用户可控制
2️⃣:进程优先级高的特点
- 获得更多的CPU运行时间
- 更优先获得CPU运行的机会
3️⃣:要修改进程的优先级可以通过调整进程的nice值来实现,nice值越小,优先级越高
- nice值的范围是(-20,19),-20对应100,19对应139
2、相对优先级
1️⃣:由于并非所有进程都以同样的方式创建,可为采用SCHED_NORMAL策略运行的进程指定相对优先级。此优先级称为进程的nice值
2️⃣:一个进程可以有40种不同级别的nice值
3️⃣:这些nice级别的范围是从-20到19;默认情况下,进程将继承其父进程的nice级别,通常为0
- nice级别越高,表示优先级越低(该进程容易将其CPU使用量让给其他进程)
- nice级别越低,表示优先级越高(该进程更加不倾向于让出CPU)
- 如果不存在资源争用(例如当活动进程数少于可用CPU核心数时),即使nice级别高的进程也将仍使用它们可使用的所有可用CPU资源
- 但当请求CPU时间的进程数超过可用核心数时,nice级别较高的进程将比nice级别较低的进程收到更少的CPU时间
3、nice级别与权限
1️⃣:为很占CPU资源的进程设置较低的nice级别可能会对同一系统上运行的其他进程的性能造成负面影响,所以仅允许root用户设置负nice级别以及降低现有进程的nice级别
2️⃣:普通(非特权)用户仅允许设置正的nice级别,也就是只能对现有进程提升nice级别,而不能降低nice级别。
4、进程优先级调整
1️⃣:调整已经启动的进程的nice值
- renice NI PID(例:renice 3 3704)
2️⃣:在启动时指定nice值:(-20,19)
- nice -n NI COMMAND
Linux_进程管理的基本概述的更多相关文章
- Linux_进程管理相关命令
一.进程管理命令 1.ps -- 进程查看命令 1️⃣:ps(process state)命令用于列出当前的进程 2️⃣:可以显示详细的进程信息,包括: 用户识别符(UID),它确定进程的特权 唯一进 ...
- Linux_进程管理&计划任务
目录 目录 top打开Linux系统任务管理控制台 ps进程查询指令 kill进程关闭指令 一个小实验 一次性计划任务 周期性计划任务 top打开Linux系统任务管理控制台 快捷键: P M k q ...
- 07、Spark集群的进程管理
07.Spark集群的进程管理 7.1 概述 Spark standalone集群模式涉及master和worker两个守护进程.master进程是管理节点,worker进程是工作节点.spark提供 ...
- CentOS进程管理
Linux系统中的基本运行单位是进程,通过对系统系统中的进程的管理能够对系统的实时运行状态进行了解和调度.Linux中提供了用于查看.调整和停止进程的命令.本文仍然以RHEL6说明Linux系统的进程 ...
- boost:进程管理
概述 Boost.Process提供了一个灵活的C++ 进程管理框架.它允许C++ developer可以像Java和.Net程序developer那样管理进程.它还提供了管理当前执行进程上下文.创建 ...
- .Neter玩转Linux系列之五:crontab使用详解和Linux的进程管理以及网络状态监控
一.crontab使用详解 概述:任务调度:是指系统在某个时间执行的特定的命令或程序. 任务调度分类: (1)系统工作:有些重要的工作必须周而 复始地执行. (2)个别用户工作:个别用户可能希望执 行 ...
- Linux性能及调优指南(翻译)之Linux进程管理
本文为IBM RedBook的Linux Performanceand Tuning Guidelines的1.1节的翻译原文地址:http://www.redbooks.ibm.com/redpap ...
- 《Linux 性能及调优指南》1.1 Linux进程管理
https://blog.csdn.net/ljianhui/article/details/46718835 本文为IBM RedBook的Linux Performanceand Tuning G ...
- Linux进程管理与调度-之-目录导航【转】
转自:http://blog.csdn.net/gatieme/article/details/51456569 版权声明:本文为博主原创文章 && 转载请著名出处 @ http:// ...
随机推荐
- 【Azure 微服务】Service Fabric中微服务在升级时,遇见Warning - System.Collections.Generic.KeyNotFoundException 服务无法正常运行
问题描述 使用.Net Framework 4.5.2为架构的Service Fabric微服务应用,在升级后发布到Azure Fabric中,服务无法运行.通过Service Fabric Expl ...
- Java代理模式,一次复习完4种动态代理实现方式
代理模式也是一种非常常见的设计模式.了解Spring框架的都知道,Spring AOP 使用的就是动态代理模式.今天就来系统的重温一遍代理模式. 在现实生活中代理是随处可见的,当事人因某些隐私不方便出 ...
- matlab函数句柄
matlab函数句柄 直接调用函数: 被调用函数只能被其M文件同名的主函数或在M文件中的其他函数调用,一个文件只有一个主函数. 间接调用函数: 避免只能使用直接调用函数的情况,个人理解就是为一个函 ...
- 05.ElementUI源码学习:项目发布配置(github pages&npm package)
0x00.前言 书接上文.项目第一个组件已经封装好,说明文档也已编写好.下面需要将说明文档发布到外网上,以此来展示和推广项目,使用 Github Pages功能实现.同时将组件发布之 npm 上,方便 ...
- Python中sys模块的使用
目录 sys模块 sys.argv() sys.exit(0) sys.path sys.modules sys模块负责程序与python解释器的交互,提供了一系列的函数和变量,用于操控python的 ...
- POJ2044 深搜+剪枝(云彩下雨)
题意: 有一个城镇,是4*4的大小的,然后你控制一块云彩,2*2的,你每天可以有9种走的方法,上下左右,或者不动,走的时候可以走1或者2步,云彩所在的地方肯定会下雨,然后给你做多365天 ...
- LA3644简单并查集判环
题意: 有n个化合物,每个化合物是两种元素组成,现在要装车,但是一旦车上的化合物中的某几个化合物组成这样一组关系,有n个化合物正好用了n中元素,那么就会爆炸,输入的顺序是装车的顺序,对于每 ...
- 怎样用jquery添加HTML代码
方法一: $(".demo").html("<span></span>") 方法二: var $span=$("<spa ...
- Win10安装Ubuntu子系统(WSL)
一:设置子系统环境 关闭所有运行的程序,打开 控制面板→卸载程序→启用或关闭windows功能→勾选上适用于Linux的windows子系统 ,然后确定,完成会提示重启电脑,确定重启,等重启电脑后在操 ...
- linux 发送邮件
参考资料:https://www.cnblogs.com/imweihao/p/7250500.html https://blog.csdn.net/liang19890820/article/det ...