前言
当程序运行在系统时,我们称子为进程。想要监测这些进程,需要用到ps命令。虽然ps命令在收集运行在系统中的信息时非常有用。但是不足之处在于,ps命令只能显示某个特定时间点的信息。而要想实时监测进程状态,需要用到接下来所讲的top命令。
实时监测进程
我们前言也说了,ps命令只能显示某个特定时间点的信息,不能观察那些频繁换进换出的内存的进程趋势。而top命令刚好适用这种情况。其实ps命令跟top命令很相似,都能够显示进程的信息,但top命令是实时显示的。
top命令运行时输出信息解析
首先咱们现在终端下,输入top命令:
输出的第一部分显示的是系统的概况:
第一行显示了当前的时间、系统运行时间,登录的用到的用户数以及系统的平均负载。
第二行显示了进程的概要信息:
top命令的输出中将进程叫做任务(task),有多少进程处在运行、休眠、停止或是僵化状态(进程完成了,但是父进程没有响应)。
第三行显示CPU概要信息:
top根据进程的属主和进程的状态将CPU利用率分成几类编程。
最后两行说明了系统内存的状态:
第一行说的是系统的物理内存,总共包含多少内存,当前用了多少,还有多少空闲。后一行说的是同样的信息,不过是针对系统交换的空间的状态而言的。
剩下的最后一部分显示了当前运行的进程的详细列表,有些列表跟ps命令的输出类似。
PID | 进程的ID |
---|---|
USER | 进程属主的名字 |
PR | 进程的优先级 |
NI | 进程的谦让度值 |
VIRT | 进程占用的虚拟内存总量 |
RES | 进程占用的物理内存总量 |
SHR | 进程和其他进程的共享的内存总量 |
S | 进程的状态 (D代表可中断的休眠状态,R代表在运行的状态,S代表休眠的状态,T代表跟踪状态或停止状态,Z代表僵化状态) |
%CPU | 进程使用的CPU比例 |
%MEM | 进程使用的内存占可用内存的比例 |
TIME+ | 自进程启动到目前为止的CPU时间总量 |
COMMAND | 进程所对应的命令名称,也就是启动的程序名 |
每个交互式命令都是单字符,在top命令运行是键入可以改变top的行为。
例如在运行top命令时候,键入f 运允许你选择对输出进行排序的字段:键入f 时信息显示如下 :
当键入d时运行你修改轮询间隔。键入q时可以退出top
参考:Linux命令行与shell脚本编程大全