top
是 Linux 系统中用于实时监视
系统状态的工具。它可以显示系统中的 CPU 使用率、内存使用情况、运行中的进程等信息,并且还可以实时更新
这些信息。
top
命令的输出包括以下列:
top - 10:32:52 up 205 days, 17:10, 1 user, load average: 0.27, 0.63, 1.05
Tasks: 1 total, 0 running, 1 sleeping, 0 stopped, 0 zombie
%Cpu(s): 7.3 us, 1.8 sy, 0.0 ni, 90.4 id, 0.5 wa, 0.0 hi, 0.0 si, 0.0 st
MiB Mem : 3675.0 total, 377.3 free, 2843.1 used, 454.6 buff/cache
MiB Swap: 0.0 total, 0.0 free, 0.0 used. 600.6 avail Mem
top - 10:32:52 up 205 days, 17:10, 1 user, load average: 0.27, 0.63, 1.05
top
: 这是命令本身,表示正在查看系统的实时状态。10:32:52
: 当前系统时间是 10 点 32 分 52 秒。up 205 days, 17:10
: 系统已经运行了 205 天 17 小时 10 分钟。1 user
: 有 1 个用户当前登录系统。load average: 0.27, 0.63, 1.05
: 这表示系统的平均负载。三个数字分别代表过去 1 分钟、5 分钟和 15 分钟的平均负载。负载是系统中等待运行的任务数量。Tasks: 1 total, 0 running, 1 sleeping, 0 stopped, 0 zombie
1 total
: 系统总共有 1 个进程。0 running
: 没有进程正在运行。1 sleeping
: 有 1 个进程在休眠状态。0 stopped
: 没有进程被停止。0 zombie
: 没有僵尸进程。僵尸进程是已完成但其父进程还未收回其资源的进程。%Cpu(s): 7.3 us, 1.8 sy, 0.0 ni, 90.4 id, 0.5 wa, 0.0 hi, 0.0 si, 0.0 st
us
: user space,用户空间占用的 CPU 时间百分比。sy
: system space,内核空间占用的 CPU 时间百分比。ni
: nice value,改变过优先级的进程占用的 CPU 时间百分比。id
: idle,空闲的 CPU 时间百分比。wa
: wait,等待 I/O 的 CPU 时间百分比。hi
: hardware interrupt,硬件中断占用的 CPU 时间百分比。si
: software interrupt,软件中断占用的 CPU 时间百分比。st
: steal time,虚拟环境中被其他虚拟机占用的 CPU 时间百分比。MiB Mem : 3675.0 total, 377.3 free, 2843.1 used, 454.6 buff/cache
3675.0 total
: 总内存为 3675 MiB。377.3 free
: 空闲的内存为 377.3 MiB。2843.1 used
: 被使用的内存为 2843.1 MiB。454.6 buff/cache
: 被缓冲和缓存的内存为 454.6 MiB。这部分内存是为了提高文件访问速度而被系统用作缓存的内存。MiB Swap: 0.0 total, 0.0 free, 0.0 used. 600.6 avail Mem
0.0 total
: 总交换空间为 0 MiB。这意味着你的系统没有配置交换分区或交换文件。在现代系统中,这通常是正常的,因为现代系统通常使用虚拟内存管理来管理内存和硬盘之间的空间分配,而不需要显式的交换分区或交换文件。600.6 avail Mem
: 可用的物理内存是 600.6 MiB(包括缓冲和缓存)。这部分内存可用于满足新的内存需求,而不必使用交换空间。root@smtp:~# top -hv
procps-ng 3.3.17
Usage:
top -hv | -bcEeHiOSs1 -d secs -n max -u|U user -p pid(s) -o field -w [cols]
top -hv
:
-h
:显示帮助信息,列出所有可用的命令和选项。-v
:显示版本信息。-bcEeHiOSs1
:这些是 top
命令的选项。
-b
:批处理模式,使 top
在批处理模式下运行。-c
:显示完整的命令行。-E
:显示环境变量。-e
:显示当前时间。-H
:显示线程信息。-i
:显示空闲和低优先级的进程。-O
:指定排序的字段。-s
:安全模式,不显示系统进程。-1
:只显示一个进程。-d secs
:设置刷新间隔为 secs
秒。
-n max
:运行 max
次刷新。
-u|U user
:只显示属于 user
的进程。
-p pid(s)
:只显示指定 pid(s)
的进程。
-o field
:按照指定的字段进行排序。
-w [cols]
:设置屏幕宽度为 cols
列。
输入top命令后可以再输入其他字符进行界面交互
命令 | 解释 |
---|---|
1 | 以不同的方式显示进程列表 |
键盘上下建 | 查看更多或更少的进程 |
q | 退出top或交互式文档 |
h | 打开交互模式帮助文档 |
Help for Interactive Commands - procps-ng 3.3.17
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,I Toggle: 'l' load avg; 't' task/cpu; 'm' memory; 'I' Irix mode
0,1,2,3,4 Toggle: '0' zeros; '1/2/3' cpu/numa views; '4' cpus two abreast
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,J,C . Toggle: 'R' Sort; 'H' Threads; 'J' Num justify; 'C' Coordinates
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)
V,v . Toggle: 'V' forest view; 'v' hide/show forest view children
k,r Manipulate tasks: 'k' kill; 'r' renice
d or s Set update interval
W,Y,! Write config file 'W'; Inspect other output 'Y'; Combine Cpus '!'
q Quit
( commands shown with '.' require a visible task display window )
Press 'h' or '?' for help with Windows,
Type 'q' or <Esc> to continue
这段文本是procps-ng
工具中top
命令的交互模式帮助文档。procps-ng
是一个UNIX和Linux系统下的工具集,用于显示系统和进程信息。其中的top
命令可以实时显示系统中各个进程的资源占用状况。
帮助文档解释:
最后两行提示用户按h
或?
可以获得关于窗口的帮助,按q
或<Esc>
可以继续操作。
启动top命令:
top
:直接输入top,回车后即可启动。设置刷新时间:
top -d 3
:设置信息更新周期为3秒。指定刷新次数:
top -n 2
:表示更新两次后终止更新显示。显示指定进程:
top -p 139
:显示进程号为139的进程信息,包括CPU、内存占用率等。批处理模式:
top -b
:以批处理模式显示程序信息。累积模式:
top -S
:以累积模式显示程序信息。显示完整命令行:
top -c
:此参数可以显示完整的命令行而不仅仅是命令名。高亮显示排序列:
top
运行界面内,可以按z
键进行高亮显示的切换。按CPU或内存排序:
top
运行界面内,按M
键可以按内存使用排序,按T
键可以按CPU使用排序。显示线程信息:
top -H -p 35648
:显示进程ID为35648的进程下的所有线程信息。这个命令特别在定位多线程程序问题时非常有用。top -u username
:只显示指定用户的进程。top
运行界面内,按h
或?
键可以查看帮助文档,按q
键或Ctrl+C可以退出top
命令或帮助文档。