进程管理命令--ps和top

Linux系统中提供了很多的进程管理命令,用于用户更好的管理进程,这里主要分享两个比价常用的两种,ps和top。

ps命令

ps即process status,进程状态,在命令行中输入ps即可查看进程的相关信息。
命令的格式是 ps [选项] [参数]
在命令行敲出ps输出以下信息
进程管理命令--ps和top
其中pid指的是进程号;TTY是启动该进程的终端;TIME是所占的CPU时间;CMD是启动该进程的命令
一般ps的使用是伴随着一些选项一起使用的,常用的选项有

选项 功能
a 显示当前终端下的所有进程,包括其他用户的进程
u 以用户的形式显示系统中的进程
x 忽视终端机,显示所有进程
e 显示每个进程使用的环境变量
r 只列出当前终端机中正在执行的进程

输出分析

以ps -au为例进行分析,输出结果如下图
进程管理命令--ps和top

  • USER表示启动该进程的用户
  • %CPU表示该进程占用CPU的时间与进程已运行时间的百分比
  • %MEM表示该进程所占的物理内存百分比
  • VSZ表示该进程所占的虚拟内存(32位下的4G内存)
  • RSS表示占用的物理内存的大小(内存条大小)
  • STAT表示当前进程的状态
标志 状态
D 不可中断的睡眠态
R 运行态
S 可中断睡眠态
T 停止态
Z 僵死态
  • COMMAND,表是运行该进程的命令
    还有一些信息可以通过man来查询

top命令

ps命令只是显示某一时刻进程的状态,如果想要动态的查看进程信息可以通过top命令来实现
命令的格式为 top [选项]
top命令默认的更新时间是3s,在终端执行top输出如图内容
进程管理命令--ps和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滚动一次