今日内容:
1、进程管理
2、查看进程信息
ps aux
ps -elf
pstree #查看进程树
top
一、进程管理
进程是操作系统最核心的概念
概念要点:
程序:本身就是一堆代码文件;
进程:代码运行的过程(操作系统控制硬件运行程序的过程)
并发:多个进程看起来是同时运行,CPU在其期间来回切换;
并行:真正意义上的同时运行,每个CPU核心运行一个程序;
• PS:四核八线程:物理四核、逻辑八核(单核双线程)
线程:进程内代码执行的过程,CPU上的执行单位;
• PS:一个进程内至少有一个线程;CPU是运行代码的,不是做IO的;
• 一个进程的多个线程共享该进程的内存资源;
• 不通进程的多个线程的内存资源互相隔离;
提交任务的方式:
• 同步
• 异步
任务的三种运行状态:
• 运行态、就绪态、阻塞态
• PS:非阻塞与阻塞
了解知识点:
进程在运行中不断的改变运行状态:
1>就绪状态
当进程已分配到除CPU以外的所有必要的资源,只要获得处理机便可立即执行,这时的进程状态称为就绪
状态。
2>执行(Running) 状态
当进程已获得处理机,其程序正在处理机上执行,此时的进程状态称为执行状态
3>阻塞(Blocked)状态
正在执行的进程,由于等待某个事件发生而无法执行时,便放弃处理机而处于阻塞状态。引起进程阻塞的
事件可有多种,例如,等待I/0完成、申请缓冲区不能满足、等待信件(信号)等。
就绪>>>执行
处在就绪状态的进程,当调度器为其分配了处理机后,就变成了执行状态。
执行>>>就绪
执行状态的进程在其执行过程中,时间片跑完了不得不让出处理机,于是从执行变成就绪状态。
执行>>>阻塞
正在执行的进程等待某种事件而无法继续执行时,便从执行状态变成阻塞状态。
阻塞->就绪
处在阻塞状态的进程,如果等待的时间发生,则从阻塞状态转变成就绪状态。
二、ps查看进程信息
查看进程信息
ps aux #查看进程信息
ps -elf #查看ppid
pstree #查看进程树
pgrep -lu egon #查看其他用户的进程
pgrep -lu egon|head -10 #只看前十行
ps aux |grep nginx 过滤查看
ps内解释:
PID #PID号
%CPU#CPU占用率
%MEM#内存
VSZ #虚拟内存
RSS #占用的物理内存
TTY #在哪个终端运行,如tty1...tty6(linux共六个终端)
STAT#进程状态:
R #运行,进程大多数都处于此状态
S #可中断睡眠,即在睡眠过程可以接收信号唤醒,可杀死
D #不可中断睡眠,睡眠过程中不可接受信号唤醒,太忙,杀不死
T #停止的进程
Z #僵尸进程,杀不死
X #结束、、死掉的进程,结束后被快速回收,几乎看不到
配合上面的状态来,如S<
< #代表优先级较高的进程
N #表示优先级较低的进程
nice -n -20 #最高优先级,1为最低
s #包含子进程
+ #表示是前台的进程组
l #小写字母L,以线程的方式运行,即多线程
| #管道代表多进程
START #进程的启动时间
TIME #进程占用CPU的总时间
COMMAND#进程文件名,哪个进程来运行的
三、管理进程top
top作用:动态实时监控进程信息,linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器
1、top命令介绍及用法:
1>基本用法
选项
-d #指定刷新时间,top里按s也可以
-u #指定用户
-p #指定pid
2>内部按键命令:
s #指定刷新时间,建议不要设置太小
M #按内存,当前页
P #按CPU
N #按pid
R #倒序,可来回切换
shift+< #左右切换
shift+> #左右切换
f #增加显示字段
k #杀死,输入pid回车,9为杀死
1 #展开进程
r #更改nice值的优先级,先输入pid号
q #退出,或ctur+c
u #查看指定用户
p #查看pid
3>显示信息解释
第一部分:系统整体统计信息
up左边的代表当前的时间
up右边代表运行了多长时间
load average: 0.86, 0.56, 0. 78
CPU 1分钟,5分钟,15分钟平均负载
us #用户态进程占用cpu时间的百分比
sys #内核态进程占用cpu时间的百分比
ni #代表优先被调度的进程占cpu时间的百分比
id #cpu空闲的百分比
wa #cpu等待io的百分比
hi #硬件中断,处理硬件中断所占用CPU的时间
si #软件中断,处理软件中断所占用cPU的时间
st #被偷走的cpu
结合kill命令释放进程:
kill pid号 #精准杀掉进程
pkill 进程名 #杀掉此进程的所有进程,含子进程
-l #小写L,查看kill选项
-9 #强制杀死,一般root会用
-15 #程序释放相应资源,然后再停止
PS:在使用 kill -9 前,应该先使用 kill -15,给目标进程一个清理善后工作的机会。如果没有,可能会留下一些不完整的文件或状态,从而影响服务的再次启动。
top命令图解
拓展阅读:swap分区
https://www.cnblogs.com/linhaifeng/articles/13915855.html
2、平均负载介绍