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:// ...
随机推荐
- 使用python制作大数据词云
1 from wordcloud import WordCloud 2 import PIL.Image as image 3 import numpy as np 4 import jieba 5 ...
- Java String系列
String详解, String和CharSequence区别, StringBuilder和StringBuffer的区别 (String系列之1) StringBuilder 详解 (String ...
- JAVAEE_Servlet_19_重定向可以解决页面刷新问题(sendRedirect)
重定向可以解决页面刷新问题(sendRedirect) 在向数据库中添加数据的时候,如果使用转发(getRequestDispatcher),数据插入成功后,转发到提示插入成功页面,在数据插入成功页面 ...
- 你已经用上 5G 网络了吗?
随着各大手机厂商陆续推出 5G 手机,智能手机全面迎来 5G 浪潮.可能有人会发问:如此推崇 5G,5G 能为我们带来什么,我们的生活又会因此而改变多大呢? 什么是 5G? 简单地说,5G 就是第五代 ...
- 所谓 ICMP,不过将军与士卒而已
什么是 ICMP 协议 关于这点我们在 IP 协议那篇文章中提过一嘴,IP 协议作为一种提供不可靠数据交付的网络层协议,在传输的过程中,其 IP 数据报可能会发生丢失.重复.延迟和乱序等各种情况, 但 ...
- 编写shell脚本让springboot项目在CentOS中开机自启动
springboot项目部署在CentOS系统上时,如果遇到停电关机,公司的实施人员就得跑到甲方现场重新启动项目并测试,很是麻烦,这里探讨如何编写shell脚本控制springboot项目开机时自动启 ...
- red and black(BFS)
Red and Black Time Limit: 1000MS Memory Limit: 30000K Total Submissions: 40685 Accepted: 22079 D ...
- ZOJ 3781 最短路(想法好题目)
题意: 给你一个n*m的矩阵,上面只有两种字符,X或者O,每次可以同时改变相同颜色的一个连通块,上下左右连通才算连通,用最小的步数把这个图弄成全是X或者全是O,题意要是没看懂看下面的样例. ...
- hdu4717 三分(散点的移动)
题意: 给你一些点,这些点有各自的初始位置,移动速度和方向,问你什么时候任意两点中最长的距离最小,求时刻和此时的距离.. 思路: 感觉题目很赞,一开始想不到三分,因为么有办法证明他 ...
- Windows 签名伪造工具的使用,Python,签名
#!/usr/bin/env python3 # LICENSE: BSD-3 # Copyright: Josh Pitts @midnite_runr import sys import stru ...