进程
什么是进程?
是计算机中的程序关于某数据集合上的一次运行活动,
是系统进行资源分配和调度的基本单位,是操作系统结构的基础。
静态方式: ps aux , ps -ef 会显示PPID父进程
动态方式: top htop (负载状态 w uptime)
指标: 判断CPU当前的状态
STAT基本状态 | 描述 | STAT状态+符号 | 描述 |
---|---|---|---|
R | 进程运行 | s | 进程是控制进程, Ss进程的领导者,父进程 |
S | 可中断睡眠 | < | 进程运行在高优先级上,S<优先级较高的进程 |
T | 进程被暂停 | N | 进程运行在低优先级上,SN优先级较低的进程 |
D | 不可中断进程 | + | 当前进程运行在前台,R+该表示进程在前台运行 |
Z | 僵尸进程 | l | 进程是多线程的,Sl表示进程是以线程方式运行 |
监控进程状态
1.用ps命令查看当前的进程状态(静态)
状态 | 描述 |
---|---|
USER | 启动进程的用户 |
PID | 进程运行的ID号 |
%CPU | 进程占用CPU百分比 |
%MEM | 进程占用内存百分比 |
VSZ | 进程占用虚拟内存大小(单位kb) |
RSS | 进程占用物理内存实际大小(单位kb) |
TTY | 进程是由哪个终端运行启动的tty1 ,pts/0等 ?表示内核程序与终端无关 |
STAT | 进程运行过程中的状态man ps (/STATE) |
START | 进程的启动时间 |
TIME | 进程占用CPU的总时间,单位秒 |
COMMAND | 程序的运行指令,[方括号]属于内核态的进程.没有[]的是用户态进程 |
TOP的输出
前面两行信息
列名 | 含义 |
---|---|
20:45:03 | 表示系统当前时间 |
up 11:49 | 表示系统已经运行时间 |
5 users | 当前登录的用户数5个 |
load average: 0.00,0.01,0.05 | 表示内核任务在1分钟、5分钟、15分钟的平均负载 |
Tasks:159 total | 当前系统的进程总数 |
1 running | 当前系统中有4个正在运行的进程 |
157 sleeping | 当前系统中有284个休眠的进程 |
1 stopped | 停止进程数为1 |
0 zombie | 僵死进程数为0 |
进程信息
列名 | 含义 |
---|---|
PID | 进程id |
PPID | 父进程id |
UID | 进程所有者的用户id |
USER | 进程所有者的用户名 |
PR | 优先级 |
NI | 负值表示高优先级,正值表示低优先级 |
VIRT | 进程使用的虚拟内存总量,单位kb,VIRT=SWAP+RES |
RES | 进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA |
SHR | 共享内存大小,单位kb |
S | 进程状态 |
COMMAND | 命令名/命令行 |
%CPU | 进程占用CPU百分比 |
%MEM | 进程占用内存百分比 |
TIME+ | 进程使用的CPU时间总计,单位1/100秒 |
CODE | 可执行代码占用的物理内存大小,单位kb |
nDRT | 最后一次写入到现在,被修改过的页面数 |
nFLT | 页面错误次数 |
WCHAN | 若该进程在睡眠,则显示睡眠中的系统函数名 |
Flags | 任务标志 |