top
命令可以实时动态地查看系统的整体运行情况,是一个综合了多方信息监测系统性能和运行信息的使用工具。top
命令提供了互动式的界面,用热键管理。这个命令是一个非常重要和常用的命令,但是同时也有点复杂,参数较多,怎么能够掌握好呢?用了这么多年,也都一直没有用好。老老实实读一遍手册,总体了解一下都有什么才好去做整理,有的时候可能连它都有什么功能都不知道。
top [选项]
top
命令用来显示Linux
的处理器活动和内核实时管理的任务。它会显示正在使用的处理器和内存以及运行进程等其他信息。
top
交互命令在top
命令执行过程中可以使用的一些交互命令。这些命令都是单字母的,如果在命令行中使用了-s选项, 其中一些命令可能会被屏蔽。
top - 21:52:52 up 247 days, 6:23, 2 users, load average: 0.09, 0.12, 0.13
Tasks: 126 total, 1 running, 125 sleeping, 0 stopped, 0 zombie
%Cpu(s): 4.0 us, 2.3 sy, 0.0 ni, 93.7 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 3881808 total, 153396 free, 3577588 used, 150824 buff/cache
KiB Swap: 4063228 total, 1206484 free, 2856744 used. 86344 avail Mem
统计信息区前五行是系统整体的统计信息。
系统运行时间和平均负载
第一行是任务队列信息,同uptime命令的执行结果,可以使用l命令切换uptime的显示。其内容如下:
进程
第二行为进程信息。内容如下:
CPU状态
第三行为CPU状态信息,当有多个CPU时,这些内容可能会超过两行。内容如下:
内存使用
倒数第2、3行为内存相关信息,内存显示可以用m命令切换:
字段/列
最后一行则是进程相关的资源占用信息:
实例:h
:帮助
描述:在top
状态下,按h
键或者?
键显示交互命令的帮助菜单。
输出:
Help for Interactive Commands - procps-ng version 3.3.10
Window 1:Def: Cumulative mode Off. System: Delay 3.0 secs; Secure mode Off.
Z,B,E,e Global: 'Z' colors; 'B' bold; 'E'/'e' summary/task memory scale
l,t,m Toggle Summary: 'l' load avg; 't' task/cpu stats; 'm' memory info
0,1,2,3,I Toggle: '0' zeros; '1/2/3' cpus or numa node views; 'I' Irix mode
f,F,X Fields: 'f'/'F' add/remove/order/sort; 'X' increase fixed-width
L,&,<,> . Locate: 'L'/'&' find/again; Move sort column: '<'/'>' left/right
R,H,V,J . Toggle: 'R' Sort; 'H' Threads; 'V' Forest view; 'J' Num justify
c,i,S,j . Toggle: 'c' Cmd name/line; 'i' Idle; 'S' Time; 'j' Str justify
x,y . Toggle highlights: 'x' sort field; 'y' running tasks
z,b . Toggle: 'z' color/mono; 'b' bold/reverse (only if 'x' or 'y')
u,U,o,O . Filter by: 'u'/'U' effective/any user; 'o'/'O' other criteria
n,#,^O . Set: 'n'/'#' max tasks displayed; Show: Ctrl+'O' other filter(s)
C,... . Toggle scroll coordinates msg for: up,down,left,right,home,end
k,r Manipulate tasks: 'k' kill; 'r' renice
d or s Set update interval
W,Y Write configuration file 'W'; Inspect other output 'Y'
q Quit
( commands shown with '.' require a visible task display window )
Press 'h' or '?' for help with Windows,
Type 'q' or to continue
实例:显示各个CPU负载
描述:在top
状态下,按下“1”,可以显示每个CPU的负载情况。
top - 22:30:09 up 247 days, 7:00, 2 users, load average: 0.16, 0.14, 0.14
Tasks: 126 total, 1 running, 125 sleeping, 0 stopped, 0 zombie
%Cpu0 : 0.3 us, 0.3 sy, 0.0 ni, 99.3 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
%Cpu1 : 0.3 us, 0.0 sy, 0.0 ni, 99.7 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
%Cpu2 : 0.3 us, 0.0 sy, 0.0 ni, 99.7 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
%Cpu3 : 0.3 us, 0.3 sy, 0.0 ni, 99.3 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 3881808 total, 141164 free, 3578540 used, 162104 buff/cache
KiB Swap: 4063228 total, 1206756 free, 2856472 used. 79768 avail Mem
实例:手动刷新
描述:在top
状态下,按空格或者回车进行手动刷新。top命令默认在一个特定间隔(3秒)后刷新显示。
实例:A
:切换交替显示模式
描述:在top
状态下,按A
键,可以在全屏和交替模式间切换。在交替模式下会显示4个窗口。
这四组字段共有一个独立的可配置的概括区域和它自己的可配置任务区域。4个窗口中只有一个窗口是当前窗口。当前窗口的名称显示在左上方。只有当前窗口才会接受你键盘交互命令。
可以用a
和w
在4个窗口间切换,a
移到后一个窗口,w
移到前一个窗口。用g
命令可以输入一个数字来选择当前窗口。
实例:B
:粗体显示
描述:在top
状态下,按B
键,会将一些重要信息会以加粗字体显示。
输出:
实例:d
或s
:设置显示的刷新间隔
描述:在top
状态下,按d
键或者s
键,设置显示的刷新间隔为1秒。
输出:
实例:f
:字段管理
描述:在top
状态下,按f
键进入字段管理界面。d键选择要显示的字段,用*标记的是已选择的。上下光标键在字段内导航,左光标键可以选择字段,右光标键进入排序状态,此时按上下光标键可以进行上下移动,回车确认。s键设置当前排序的字段,q或Esc键退出。
输出:
实例:R
:反向排序
描述:在top
状态下,按R
键切换反向/常规排序。
实例:c
:切换显示命令名称和完整命令行
描述:在top
状态下,按c
键,切换是否显示进程启动时的完整路径和程序名。也可以使用如下命令行。
命令:top -c
输出:
实例:i
:空闲任务
描述:在top
状态下,按i键,切换显示空闲任务。
输出:
不显示空闲任务:
实例:V
:树视图
描述:在top
状态下,按V键,切换树视图。
输出:
实例:z
:切换彩色显示
描述:在top
状态下,按z
键,切换彩色,即打开或关闭彩色显示。
输出:
实例:Z
:改变配色
描述:在top
状态下,按Z
键,显示一个改变top
命令的输出颜色的屏幕。可以为8个任务区域选择8种颜色。
输出:
设置修改:
显示效果:
实例:按照内存使用大小排序
描述:在top
状态下,按shift+m,可以按照内存使用大小排序进程。
输出:
实例:x、y
:切换高亮信息
描述:在top
状态下,按x
键将排序字段高亮显示(纵列);按y
键将运行进程高亮显示(横行)。
输出:
实例:u
:特定用户的进程
描述:在top
状态下,按u键将会提示输入用户名,输入首显示特定用户的进程。空白将会显示全部用户。
输出:
实例:n或#
:任务的数量
描述:在top
状态下,按n键或者#
键可以设置最大显示的任务数量。
输出:
实例:k
:结束任务
描述:在top
状态下,按k
键输入PID
后,发送信号给任务(通常是结束任务)。
输出:
实例:r
:重新设置优先级
描述:在top
状态下,按r
键输入-20~19范围中的数字后,重新设置一个任务的调度优先级(nice值)。
输出:
实例:-p
:监控特定的PID
描述:-p选项监控指定的PID。PID的值为0将被作为top命令自身的PID。
命令:top -p 0
实例:-u或-U
: 用户名或者UID
描述:可以用这些选项浏览特定用户的进程。用户名或者UID可以在选项中指定。-p、-u和-U选项是互斥的,同时只可以使用这其中一个选项。试图组合使用这些选项时,会得到一个错误:
命令:top -p 1248 -u root
输出:
实例:-b
:批处理模式
描述:-b选项以批处理模式启动top命令,在文件中保存输出时是很有用的。
实例:-c
:命令/程序名 触发:
描述:显示进程启动时的完整路径和程序名。
实例:-d
:设置延迟间隔
描述:设置top的显示间隔(以秒计)。
命令:top -d 1
实例:-i
:切换显示空闲进程
命令:top -i
实例:-n
:特定重复次数后退出
描述:top输出保持刷新,直到按q键或者到达指定次数。下面的命令将在10次重复之后自动退出。
命令:top -n 10