您的位置:首页 > 运维架构

top命令详解

2016-06-30 10:50 309 查看
top - 10:30:08 up 23:09, 1 user, load average: 0.14, 0.07, 0.05
Tasks: 176 total, 1 running, 175 sleeping, 0 stopped, 0 zombie
%Cpu(s): 1.2 us, 0.3 sy, 0.0 ni, 98.0 id, 0.6 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 12134480 total, 2682756 free, 5481808 used, 3969916 buff/cache
KiB Swap: 6036476 total, 6036476 free, 0 used. 6363884 avail Mem

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
2114 qemu 20 0 2459164 2.003g 10144 S 6.3 17.3 88:44.45 qemu-kvm
2166 qemu 20 0 2459164 2.002g 10140 S 2.7 17.3 35:26.26 qemu-kvm
2129 qemu 20 0 4561080 1.079g 10188 S 0.3 9.3 2:53.97 qemu-kvm
20382 root 20 0 157684 2264 1544 R 0.3 0.0 0:00.29 top
1 root 20 0 41292 3844 2412 S 0.0 0.0 0:04.49 systemd
上面是top命令的输出结果及格式。

详细讲解输出的含义:

系统运行时间和平均负载:与uptime显示相似
top - 10:30:08 up 23:09, 1 user, load average: 0.14, 0.07, 0.05

当前时间
系统已运行的时间
当前登录用户的数量
相应最近5、10和15分钟内的平均负载。
可以使用'l'命令切换uptime的显示

任务:
Tasks: 176 total, 1 running, 175 sleeping, 0 stopped, 0 zombie
这里显示了全部进程的数量。除此之外,还有正在运行、睡眠、停止、僵尸进程的数量(僵尸是一种进程的状态)。这些进程概括信息可以用't'切换显示。

CPU状态:
%Cpu(s): 1.2 us, 0.3 sy, 0.0 ni, 98.0 id, 0.6 wa, 0.0 hi, 0.0 si, 0.0 st
这里显示了不同模式下的所占CPU时间的百分比。这些不同的CPU时间表示:
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处理时间的)。
可以使用't'命令切换显示。

内存使用:free命令的结果
KiB Mem : 12134480 total, 2682756 free, 5481808 used, 3969916 buff/cacheKiB Swap: 6036476 total, 6036476 free, 0 used. 6363884 avail Mem 第一行是物理内存使用,第二行是虚拟内存使用(交换空间)。
物理内存显示如下:全部可用内存、已使用内存、空闲内存、缓冲内存。相似地:交换部分显示的是:全部、已使用、空闲和缓冲交换空间。
内存显示可以用'm'命令切换。

横向列出的系统属性和状态下面,是以列显示的进程。不同的列代表下面要解释的不同属性。默认上,top显示这些关于进程的属性:PID进程ID,进程的唯一标识符USER进程所有者的实际用户名。PR进程的调度优先级。这个字段的一些值是'rt'。这意味这这些进程运行在实时态。NI进程的nice值(优先级)。越小的值意味着越高的优先级。VIRT进程使用的虚拟内存。RES驻留内存大小。驻留内存是任务使用的非交换物理内存大小。SHRSHR是进程使用的共享内存。S这个是进程的状态。它有以下不同的值:D - 不可中断的睡眠态。

R – 运行态

S – 睡眠态

T – 被跟踪或已停止

Z – 僵尸态

%CPU自从上一次更新时到现在任务所使用的CPU时间百分比。%MEM进程使用的可用物理内存百分比。TIME+任务启动后到现在所使用的全部CPU时间,精确到百分之一秒。COMMAND运行进程所使用的命令。还有许多在默认情况下不会显示的输出,它们可以显示进程的页错误、有效组和组ID和其他更多的信息。

‘h’: 帮助
‘’ 或者 ‘’: 刷新显示
top命令默认在一个特定间隔(3秒)后刷新显示。要手动刷新,用户可以输入回车或者空格。

‘A’: 切换交替显示模式
这个命令在全屏和交替模式间切换。在交替模式下会显示4个窗口:
Def (默认字段组)
Job (任务字段组)
Mem (内存字段组)
Usr (用户字段组)
这四组字段共有一个独立的可配置的概括区域和它自己的可配置任务区域。4个窗口中只有一个窗口是当前窗口。当前窗口的名称显示在左上方。
我们可以用'a'和'w'在4个 窗口间切换。'a'移到后一个窗口,'w'移到前一个窗口。用'g'命令你可以输入一个数字来选择当前窗口。

‘B’: 触发粗体显示

‘d’ 或‘s’: 设置显示的刷新间隔
当按下'd'或's'时,你将被提示输入一个值(以秒为单位),它会以设置的值作为刷新间隔。如果你这里输入了1,top将会每秒刷新。

‘l’、‘t’、‘m’: 切换负载、任务、内存信息的显示

‘f’: 字段管理
上下光标键在字段内导航,左光标键可以选择字段,回车或右光标键确认。

‘R’: 反向排序
切换反向/常规排序。

‘c’: 触发命令
切换是否显示进程启动时的完整路径和程序名。

‘i’: 空闲任务
切换显示空闲任务。

‘V’: 树视图

‘Z’: 改变配色

‘z’: 切换彩色显示

‘x’ 或者 ‘y’
切换高亮信息:'x'将排序字段高亮显示(纵列);'y'将运行进程高亮显示(横行)。依赖于你的显示设置,你可能需要让输出彩色来看到这些高亮。

‘u’: 特定用户的进程
显示特定用户的进程。你会被提示输入用户名。空白将会显示全部用户。

‘n’ 或 ‘#’: 任务的数量
设置最大显示的任务数量

‘k’: 结束任务
top命令中最重要的一个命令之一。用于发送信号给任务(通常是结束任务)。

‘r’: 重新设置优先级

top命令带参数选项
-b: 批处理模式
-c: 命令/程序名 触发:
-d: 设置延迟间隔
-I:忽略失效过程
-i: 切换显示空闲进程
-n: 设置迭代数量
-p: 监控特定的PID
-u 或 -U: 用户名 或者 UID
-s:保密模式
-S:累积模式
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  top