top命令是一个非常强大的功能,但是它监控的最小单位是进程,如果想监控更小单位时,就需要用到ps或者netstate命令来满足我们的要求。
TOP能显示的字段:
1、系统运行的时间和平均负载:(可以用“l”命令切换uptime的显示)
当前时间 up:服务器开启时长 8min:系统已经运行时间8分钟
load average:平均负载 1 5 15分钟的平均负载
2、任务或者说是进程总数(可以用"t"命令切换显示)
第二行显示的是任务或者进程的总结。显示进程的状态分别的数量正在运行、睡眠、停止、僵尸进程。
3、CPU的状态(可以用"t"命令切换显示)
us,user:运行(未调整优先级的) 用户进程的CPU时间
sy,system:运行内核进程的CPU时间
ni,niced:运行已调整优先级的用户进程的CPU时间
wa,IO wait:用于等待IO完成的CPU时间
hi:处理硬件中断的CPU时间
si:处理软件中断的CPU时间
st:这个虚拟机被hypervisor偷去的CPU时间(译注:如果当前处于一个hypervisor下的vm,实际上hypervisor也是要消耗一部分CPU处理时间的)。
4、内存使用("m"命令切换内存显示)
接下来两行显示内存使用率,有点像’free’命令。第一行是物理内存使用,第二行是虚拟内存使用(交换空间)。物理内存显示如下:全部可用内存、已使用内存、空闲内存、缓冲内存。相似地:交换部分显示的是:全部、已使用、空闲和缓冲交换空间。
5、字段/列
PID:进程ID,进程的唯一标识符 USER:进程所有者的实际用户名
PR:进程的调度优先级,这个字段的一些值是"rt",代表这些进程运行在实时态
NI:进程的nice值(优先级)。越小的值意味着越高的优先级
VIRT:进程使用的虚拟内存 RES:驻留内存大小。驻留内存是任务使用的非交换物理内存大小
SHR:进程使用的共享内存
S:进程的状态。(D-不可中断睡眠状态,R-运行态,S-睡眠态,T-被跟踪或已停止,Z-僵尸态)
%CPU:自从上一次更新时到现在任务所使用的CPU时间百分比
%MEM:进程使用的可用物理内存百分比
TIME+:任务启动后到现在所使用的全部CPU时间,精确到百分之一秒
COMMAND:运行进程所使用的命令
TOP交互命令
1、"h"/"?":显示交互命令的帮助命令
2、刷新显示:top命令默认3秒刷新一次显示。空格或回车手动刷新。
3、切换交替显示模式:"A" 交替模式会显示4个端口
1、Def:默认值字段组 2、Job:任务字段组 3、Mem:内存字段组 4、Usr:用户字段组
这四组字段共有一个独立的可配置的概括区域和它自己的可配置任务区域。4个窗口中只有一个窗口是当前窗口。当前窗口的名称显示在左上方。(译注:只有当前窗口才会接受你键盘交互命令)。
我们可以用’a’和’w’在4个 窗口间切换。’a’移到后一个窗口,’w’移到前一个窗口。用’g’命令你可以输入一个数字来选择当前窗口。
4、‘B’: 触发粗体显示
5、‘d’ 或‘s’: 设置显示的刷新间隔
6、‘l’、‘t’、‘m’: 切换负载、任务、内存信息的显示
7、‘f’: 字段管理 用于选择你想要显示的字段。用’*’标记的是已选择的。
管理显示列
上下光标键在字段内导航,左光标键可以选择字段,回车或右光标键确认。
按'<‘移动已排序的字段到左边,’>’则移动到右边。
8、 ‘R’: 反向排序 切换反向/常规排序。
9、 ‘c’: 触发命令 切换是否显示进程启动时的完整路径和程序名。
10、 ‘i’: 空闲任务 11、 ‘V’: 树视图 12、‘Z’: 改变配色 13、 ‘z’: 切换彩色显示
14、‘x’ 或者 ‘y’ :切换高亮信息:’x’将排序字段高亮显示(纵列);’y’将运行进程高亮显示(横行)。依赖于你 的显示设置,你可能需要让输出彩色来看到这些高亮。
15、‘u’: 特定用户的进程 显示特定用户的进程。你会被提示输入用户名。空白将会显示全部用户
16、‘n’ 或 ‘#’: 任务的数量 设置最大显示的任务数量
17、 ‘k’: 结束任务(杀死任务) 18、‘r’: 重新设置优先级
TOP命令行选项
1、 -b: 批处理模式
-b选项以批处理模式启动top命令。当你想要在文件中保存输出时是很有用的。
2、-c: 命令/程序名 触发:
如上面所讨论到的命令,这个选项会以上次记住的程序/命令显示的状态显示(是否显示完整路径)。
3、-d: 设置延迟间隔
设置top的显示间隔(以秒计)。比如:
$ top -d 1
将会以1秒的刷新间隔启动top。
4、-i: 切换显示空闲进程
这个选项设置top命令的上一次记住的相反的‘i’状态。
5、-n: 设置迭代数量
用-n选项,你可以设置top退出前迭代的次数。
$ top -n 3
将会在刷新输出3次后退出。
6、-p: 监控特定的PID
你可以用-p选项监控指定的PID。PID的值为0将被作为top命令自身的PID。
7、-u 或 -U: 用户名 或者 UID
可以用这些选项浏览特定用户的进程。用户名或者UID可以在选项中指定。-p、-u和-U选项是互斥的,同时只可以使用这其中一个选项。当你试图组合使用这些选项时,你会得到一个错误:
命令: top -p 28453 -u sanchuang
错误:top: conflicting process selections (U/p/u)