一 进程概念
程序——》代码文件
进程-》
描述方式1:程序的运行过程
描述方式2:操作系统控制着硬件去运行程序的过程
进程是操作系统最核心的概念
并发:多个任务看起来是同时运行的即可 并行:多个任务是真正的同时运行 只有多核才能实现并行
线程:进程内代码的执行过程
线程才是cpu上的执行单位
一个进程内至少有一个线程
强调:cpu是运行代码,不是做io的
一个进程的多个线程共享该进程的内存资源 不同进程的多个线程的内存资源互相隔离
任务的三种运行状态
运行态
就绪态
阻塞态
ps:非阻塞与阻塞
提交任务的方式:
同步
异步
TOP命令
top -d 1 ##指定刷新时间为1秒
top -d 1 -p pid # 只看某一个进程的信息
top -d 1 -u 只看该用户开启的所有进程信息
内部命令
s #修改刷新时间,单位是秒,不要设置很小,否则会过度消耗cpu
q # 退出 或者CTRL+c
排序
M按内存占用率从大到小依次排序
P按cpu占有率从大到小依次排序
N按pid从大到小排序
配合R代表倒序
shift + > , + < ###移动排序字段
f 显示字段,按空格勾选,q退出
数字1显示cpu具体信息
r更改nice值
up左边的代表当前的时间
up右边代表运行了多长时间
load average:0.0 ,0.0, 0.0 cpu一分钟,五分钟 。十五分钟平均负载
us 用户态进程占用cpu时间的百分比
sys 内核态进程占用cpu时间的百分比
ni 代表优先被调度的进程占cpu时间的百分比
id cpu空闲的百分比
wa cpu等待io的百分比
hi 硬件中断,处理硬件中断所占用cpu的时间
硬中断:硬件中断是系统用来影响硬件设备请求的一种机制,它会打断进程的正常调度和执行,然后调用内核中的中断处理程序来影响设备的请求
si 软件中断,处理软件中断所占用cpu的时间
软中断:事实上,为了解决中断处理程序执行过长的和丢失中断的问题,Linux将中断处理过程分成了两个阶段:第一阶段:用来快速处理(硬中断)中断,它在中断禁止模式下运行,主要处理跟硬件紧密相关工作第二阶段:用来延迟处理第一阶段未完成的工作,通常以内核线程的方式运行。
st 被偷走的cpu
平均负载
平均负载是指,单位时间内,系统处于可运行状态和不可中断状态的平均进程数,也就是平均活跃进程数
kill信号管理:
1:重新加载
2:类似于ctrl + c
3:正常终止进程
9:强制杀死(少用)
15:默认信号,进程终止
18:重新唤起停止的进程
19:直接暂停
20:把进程放到后台并暂停
pkill :
-t:指定终端
-9:强制,把终端运行的命令和终端一并杀掉
killall 进程名