作者: Linoxide
示例: Linux中国/geekpi
Linux的top命令显示系统上正在运行的进程。 它是系统管理员最重要的工具之一。 它被广泛用于监测服务器负载。 在本篇中,将详细探究top命令。 top命令是交互式命令。 运行top时,还可以运行很多命令。 我们也探索这些命令。
(注意: top命令在不同的版本中有所不同。 如果发现不同,请阅读帮助手册和命令中的帮助。 )
1. Top 命令输出首先,让我们来看看输出。 top命令显示系统的很多信息。 需要理解不同部分输出的含义。 在缺省运行时,top命令的输出如下:
前几行中的级别概述了各种系统参数,然后介绍了进程及其列的属性。
1.1 系统运行时间和平均负载
top命令的顶部显示与uptime命令相似的输出。
此时将显示以下字段:
当前时间
系统运行的时间
当前登录的用户数
应对最近5、10、15分钟的平均负载。
可以使用“l”命令切换uptime的显示。
1.2 任务
第二行显示任务或进程的总结。 过程可以处于不同的状态。 这里显示所有进程的数量。 还有运行中、睡眠中、停止中、僵尸过程的数量(僵尸是过程的状态)。 这些过程概要信息可以用’t’切换显示。
1.3 CPU 状态
下一行显示了CPU的状态。 这里显示了不同模式下CPU时间的百分比。 这些不同的CPU时间表示:
us,user :运行用户进程(未调整优先级)的CPU时间
执行sy,system:内核进程的CPU时间
ni,niced :运行具有调整优先级的用户进程的CPU时间
wa,IO wait:用于等待IO完成的CPU时间
hi )处理硬件中断的CPU时间
处理si:软件中断的CPU时间
st :虚拟机管理程序窃取的CPU时间(注意:如果虚拟机管理程序当前位于虚拟机管理程序下,则虚拟机管理程序实际上也会占用部分CPU处理时间)。
可以使用“t”命令切换显示。
1.4 内存使用
以下两行显示内存利用率,类似于“free”命令。 第一行是物理内存使用量,第二行是虚拟内存使用量(交换空间)。
物理内存显示如下。 所有可用内存、已用内存、可用内存和缓冲存储器。
同样,交换部分显示所有已使用、空闲和缓冲交换空间。
可以使用“m”命令切换显示。
1.5 字段/列
在横向列出的系统属性和状态下,有一个以列显示的过程。 不同的列表示以下描述的各种属性。
默认情况下,top显示有关进程的以下属性:
PID
进程ID,进程的唯一标识符
用户
进程所有者的实际用户名。
宣传广告
的日程的优先顺序。 此字段中的一些值是“rt”。 这意味着这些进程正在实时运行。
倪
进程的nice值(优先级)。 值越小,意味着优先级越高。
VIRT
进程使用的虚拟内存。
RES
常驻内存大小。 驻留内存是任务使用的非交换物理内存的大小。
SHR
SHR是进程使用的共享内存。
s
这是过程的状态。 这些值不同:
d不可中断的睡眠状态。
r执行状态
s睡眠状态
t已被跟踪或停止
z僵尸状态
%CPU
从上次更新到现在的任务中使用的CPU时间的百分比。
%MEM
进程可以使用的物理内存的百分比。
时间
从任务开始到现在使用的所有CPU时间都精确到百分之一秒。
命令
用于运行进程的命令。
还有很多输出在默认情况下不显示。 这些输出显示进程的页面错误、有效组和组ID以及其他信息。
33558www.Sina.com/top说这是一个交互式命令。 在上一节我们已经遇到了一些命令。 这里将探索更多的命令。
2. 交互命令首先,我可以用’h’或’吗? ”显示交互式命令的帮助菜单。
2.1 ‘h’: 帮助
者 ‘’: 刷新显示top 命令默认在一个特定间隔(3秒)后刷新显示。要手动刷新,用户可以输入回车或者空格。
2.3 ‘A’: 切换交替显示模式这个命令在全屏和交替模式间切换。在交替模式下会显示 4 个窗口(译注:分别关注不同的字段):
Def (默认字段组)
Job (任务字段组)
Mem (内存字段组)
Usr (用户字段组)
这四组字段共有一个独立的可配置的概括区域和它自己的可配置任务区域。4 个窗口中只有一个窗口是当前窗口。当前窗口的名称显示在左上方。(译注:只有当前窗口才会接受你键盘交互命令)
我们可以用’a’和’w’在 4 个窗口间切换。’a’移到后一个窗口,’w’移到前一个窗口。用’g’命令你可以输入一个数字来选择当前窗口。
2.4 ‘B’: 触发粗体显示一些重要信息会以加粗字体显示。这个命令可以切换粗体显示。
2.5 ‘d’ 或‘s’: 设置显示的刷新间隔当按下’d’或’s’时,你将被提示输入一个值(以秒为单位),它会以设置的值作为刷新间隔。如果你这里输入了 1,top 将会每秒刷新。
2.6 ‘l’、‘t’、‘m’: 切换负载、任务、内存信息的显示这会相应地切换顶部的平均负载、任务/CPU 状态和内存信息的概况显示。
不显示平均负载
不显示 CPU 概况
不显示内存和交换内存概况
上面三个全不显示
2.7 ‘f’: 字段管理用于选择你想要显示的字段。用’*’标记的是已选择的。
管理显示列
上下光标键在字段内导航,左光标键可以选择字段,回车或右光标键确认。
按'<‘移动已排序的字段到左边,’>’则移动到右边。
2.8 ‘R’: 反向排序切换反向/常规排序。
2.9 ‘c’: 触发命令切换是否显示进程启动时的完整路径和程序名。
完整命令路径
2.10 ‘i’: 空闲任务切换显示空闲任务。
不显示空闲命令
2.11 ‘V’: 树视图切换树视图。
树视图
2.12 ‘Z’: 改变配色按下’Z’向用户显示一个改变 top 命令的输出颜色的屏幕。可以为 8 个任务区域选择 8 种颜色。
定制颜色
下面显示的是 4 中颜色显示的 top 视图。
彩色显示
2.13 ‘z’: 切换彩色显示切换彩色,即打开或关闭彩色显示。
2.14 ‘x’ 或者 ‘y’切换高亮信息:
’x’将排序字段高亮显示(纵列)
’y’将运行进程高亮显示(横行)
依赖于你的显示设置,你可能需要让输出彩色来看到这些高亮。
X 和 Y高亮
2.15 ‘u’: 特定用户的进程显示特定用户的进程。你会被提示输入用户名。空白将会显示全部用户。
raghu 的进程
2.16 ‘n’ 或 ‘#’: 任务的数量设置最大显示的任务数量
设置最大显示的任务数量
2.17 ‘k’: 结束任务top 命令中最重要的一个命令之一。用于发送信号给任务(通常是结束任务)。
杀死一个任务
2.18 ‘r’: 重新设置优先级重新设置一个任务的调度优先级。
3. 命令行选项这些命令行选项与上面讨论的命令大多相同。top 的输出可以用命令交互操作,但是你也可以带参数运行top来设置你想要的效果。
3.1 -b: 批处理模式-b 选项以批处理模式启动 top 命令。fkdxb想要在文件中保存输出时是很有用的。
3.2 -c: 命令/程序名 触发如上面所讨论到的命令,这个选项会以上次记住的程序/命令显示的状态显示(是否显示完整路径)。
3.3 -d: 设置延迟间隔设置 top 的显示间隔(以秒计)。比如:
$ top -d 1
将会以1秒的刷新间隔启动 top。
3.4 -i: 切换显示空闲进程
这个选项设置 top 命令的上一次记住的相反的‘i’状态。
3.5 -n: 设置迭代数量
用 -n 选项,你可以设置 top 退出前迭代的次数。
$ top -n 3
将会在刷新输出 3 次后退出。
3.6 -p: 监控特定的 PID
你可以用 -p 选项监控指定的 PID。PID 的值为 0 将被作为 top 命令自身的 PID。
3.7 -u 或 -U: 用户名 或者 UID
可以用这些选项浏览特定用户的进程。用户名或者 UID 可以在选项中指定。-p、-u和 -U 选项是互斥的,同时只可以使用这其中一个选项。fkdxb试图组合使用这些选项时,你会得到一个错误:
$ top -p 28453 -u raghu
top: conflicting process selections (U/p/u)
- END -
????「点击关注」更多惊喜等待你!