进程管理命令--ps和top
Linux系统中提供了很多的进程管理命令,用于用户更好的管理进程,这里主要分享两个比价常用的两种,ps和top。
ps命令
ps即process status,进程状态,在命令行中输入ps即可查看进程的相关信息。
命令的格式是 ps [选项] [参数]
在命令行敲出ps输出以下信息
其中pid指的是进程号;TTY是启动该进程的终端;TIME是所占的CPU时间;CMD是启动该进程的命令
一般ps的使用是伴随着一些选项一起使用的,常用的选项有
选项 | 功能 |
---|---|
a | 显示当前终端下的所有进程,包括其他用户的进程 |
u | 以用户的形式显示系统中的进程 |
x | 忽视终端机,显示所有进程 |
e | 显示每个进程使用的环境变量 |
r | 只列出当前终端机中正在执行的进程 |
输出分析
以ps -au为例进行分析,输出结果如下图
- USER表示启动该进程的用户
- %CPU表示该进程占用CPU的时间与进程已运行时间的百分比
- %MEM表示该进程所占的物理内存百分比
- VSZ表示该进程所占的虚拟内存(32位下的4G内存)
- RSS表示占用的物理内存的大小(内存条大小)
- STAT表示当前进程的状态
标志 | 状态 |
---|---|
D | 不可中断的睡眠态 |
R | 运行态 |
S | 可中断睡眠态 |
T | 停止态 |
Z | 僵死态 |
- COMMAND,表是运行该进程的命令
还有一些信息可以通过man来查询
top命令
ps命令只是显示某一时刻进程的状态,如果想要动态的查看进程信息可以通过top命令来实现
命令的格式为 top [选项]
top命令默认的更新时间是3s,在终端执行top输出如图内容
输出分析
第一行中的分别是运行top命令时的时间;虚拟机以及运行的时间;进入该系统的用户数量;系统在1min,5min,15min的平均负载。
第二行中分别为系统中的进程数;正在运行态的进程数;处于睡眠态的进程数;处于停止态的进程数;处于僵死态的进程数。
第三行分别为用户占用的CPU百分比;系统占用的CPU百分比;优先级被更改过的进程的CPU百分比;空闲CPU百分比;处于阻塞的进程百分比;硬中断百分比;软中断百分比;最后一个不太清楚
第四行分别是系统物理内存总量;以及使用的物理内存;空闲内存总量;缓存的内存总量;
第五行分别是交换分区的总容量;以及使用的总量;未使用的总量;缓存的总量;
- PR表示进程的优先级,有0-139种优先级,越小优先级越大
- NI表示nice值,控制用户的优先级,取值为-20 ~ +19
- VIRT虚拟内存的大小,单位是KB
- RES是常驻内存的大小,即不会被换页换出的内存大小,单位是B
- SHR是共享内存的大小,单位是KB
- 后面是进程状态
- TIME+,进程占用CPU的总时间、
top命令可以用一些键来进行功能控制
热键 | 功能 |
---|---|
l | 控制是否显示平均负载和启动时间 (第一行) |
t | 控制是否显示进程统计信息和CPU状态(二三行) |
m | 控制是否显示内存信息(三四行) |
M | 根据常驻内存大小进行排序 |
P | 根据%CPU进行排序 |
T | 根据TIME+进行排序 |
r | 重置一个进程优先级 |
i | 忽略闲置和僵死进程 |
k | 终止一个进程 |
在top的命令后面可以通过一些选项来进行控制
- d用来自定义刷新间隔
- b可以批处理操作,一次显示一屏,3s滚动一次