1.进程基本概述
程序:静态的概念,可以永久存储在系统中
进程:动态的概念,程序运行的过程,当我们结束该进程,进程就随之销毁了,但是程序还存储在系统中
2进程的生命周期
生命周期是指一个对象的生老病死。用处很广
当父进程接收到的任务调度时,会通过fock 派生子进程来处理,那么子进程会继承父进程属性
1.子进程在处理任务代码时,父进程其实不会进入等待,其运行过程是由linux系统进行调度
2.子进程在处理任务代码后,会执行退出,然后唤醒父进程来回收子进程的资源。
3.如果子进程在处理任务代码过程中异常退出,而父进程没有回收子进程资源,会导致子进程虽然运行实体消失,但任然在内核的进程中占据一条记录,长期下去对于系统资源是一个浪费(僵尸进程)
4.如果子进程在处理任务中,父进程退出了,子进程没有退出,那么这些子进程就没有父进程来管理,由系统的system进程管理。(孤儿进程)
每个进程的父进程id 为ppid 子进程id 为 pid
3.监控进程状态
进程的状态分为:静态 和动态
ps aux
USER 进程运行的用户身份(每一个进程,都需要一个特定的用户身份)
PID 进程的身份标识 (用来区分不通的进程)
%CPU 该进程占用CPU的百分比是多少
%MEM 该进程占用内存的百分比是多少
VXZ 虚拟内存
RSS 实际使用内存
TTY 该进程是那个终端运行的
STAT 进程所标识的状态
TIME 进程占用CPU的时间
COMMAND 运行该进程需要的执行的命令
STAT : R S T
STAT基本状态 | 描述 |
---|---|
R | 进程运行 |
S | 可中断进程 |
T | 进程被暂停 |
D | 不可中断进程 |
Z | 僵尸进程 |
s | 进程是控制进程,Ss进程的领导者父进程 |
< | 进程运行在高优先级 |
N | 进程运行在低优先级 |
+ | 当前进程运行在前台 |
l | 多线进程的 ,sl 进程是以线程方式运行的 |
==top== :
top - 14:25:10 up 5 min, 2 users, load average: 0.01, 0.07, 0.05
Tasks: 118 total, 1 running, 117 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 2028088 total, 1724464 free, 150828 used, 152796 buff/cache
KiB Swap: 3145720 total, 3145720 free, 0 used. 1702480 avail Mem
字符 | |
---|---|
us | 用户进程占用cpu百分比( 视频加密、视频解码 ) |
sy | 内核进程占用cpu百分比 ( 比如 网卡、硬件设备、硬盘 ) |
ni | 优先级高的进程占用cpu百分比 |
id | 空闲的百分比 ( 值越大、说明服务器越空闲 ) |
wa | 用户请求磁盘资源,磁盘很慢慢慢,请求的资源很多,会造成大量的等待程序 ( 数据库 ) |
hi | 硬中断 |
si | 软中断 |
st | 当该服务器运行了很多的虚拟机,这些虚拟机总共占用当前物理服务器的百分比是多少 |
不可能用top去每台服务器观察,后期将所有的服务器通过监控,统一的监控起来。
top 常见指令
字母 | 含义 |
---|---|
h | 查看帮助 |
1 | 显示cpu核心的负载情况 |
z | 以高亮显示数据 |
b | 高亮显示处于R 状态的进程 |
M | 按内存使用百分比排序输出 |
p | 按CPU使用百分比排序输出 |
q | 退出top |