Linux top命令是一个在 Linux 和其他类 Unix 系统上常用的实时系统监控工具。它可以显示系统的整体性能信息,如 CPU 使用率、内存占用、负载平均值等,以及每个进程的详细信息,如进程 ID、用户、优先级、内存、CPU 占用等。通过 top 命令,我们可以实时查看系统的状态和进程活动,发现系统的瓶颈和问题,及时采取措施进行优化。
top 命令的一般语法如下:
top [-] [d delay] [q] [c] [S] [s] [i] [n] [b]
其中,各个参数的含义如下:
-
-d <秒数>
:指定 top 命令的刷新时间间隔,单位为秒。 -
-n <次数>
:指定 top 命令运行的次数后自动退出。 -
-p <进程ID>
:仅显示指定进程ID的信息。 -
-u <用户名>
:仅显示指定用户名的进程信息。 -
-H
:在进程信息中显示线程详细信息。 -
-i
:不显示闲置(idle)或无用的进程。 -
-b
:以批处理(batch)模式运行,直接将结果输出到文件。 -
-c
:显示完整的命令行而不截断。 -
-S
:累计显示进程的 CPU 使用时间。
top 命令的输出结果一般分为两部分,第一部分是系统的总体信息,第二部分是各个进程的信息。系统的总体信息包括以下几个方面:
-
top - HH:MM:SS up X days, HH:MM, Y users, load average: Z1, Z2, Z3
:显示当前时间、系统运行时间、登录用户数和系统负载(即任务队列的平均长度)。 -
Tasks: X total, Y running, Z sleeping, A stopped, B zombie
:显示进程总数、运行中的进程数、睡眠中的进程数、停止的进程数和僵尸进程数。 -
%Cpu(s): X us, Y sy, Z ni, A id, B wa, C hi, D si, E st
:显示 CPU 的使用情况,包括用户空间占用百分比、内核空间占用百分比、用户进程优先级调整百分比、空闲百分比、等待输入输出百分比、硬中断百分比、软中断百分比和虚拟机偷取百分比。 -
KiB Mem : X total, Y used, Z free, A buff/cache
:显示内存的使用情况,包括总量、已用量、空闲量和缓存量。 -
KiB Swap: X total, Y used, Z free, A avail Mem
:显示交换分区的使用情况,包括总量、已用量、空闲量和可用内存量。
各个进程的信息包括以下几个方面:
-
PID
:进程的标识符。 -
USER
:运行进程的用户名。 -
PR
:进程的优先级。 -
NI
:进程的优先级调整值,负值表示高优先级,正值表示低优先级。 -
VIRT
:进程使用的虚拟内存大小,单位为 KB。 -
RES
:进程实际使用的物理内存大小,单位为 KB。 -
SHR
:进程共享的内存大小,单位为 KB。 -
S
:进程的状态,D 表示不可中断的睡眠状态,R 表示运行,S 表示睡眠,T 表示跟踪/停止,Z 表示僵尸进程。 -
%CPU
:进程占用 CPU 的使用率。 -
%MEM
:进程占用内存的使用率。 -
TIME+
:进程的累计 CPU 时间,单位为 1/100 秒。 -
COMMAND
:进程的命令名或命令行。
在 top 命令运行时,我们还可以使用一些按键命令来进行操作,如:
-
?
:显示帮助信息。 -
k
:终止一个进程,需要输入进程的 PID 和信号。 -
r
:重新设置一个进程的优先级,需要输入进程的 PID 和 nice 值。 -
q
:退出 top 命令。 -
P
:按照 CPU 使用率对进程进行排序。 -
M
:按照内存使用率对进程进行排序。 -
N
:按照进程 ID 对进程进行排序。 -
T
:按照 CPU 时间对进程进行排序。 -
d
:设置 top 命令的刷新时间间隔,单位为秒。 -
n
:设置 top 命令运行的次数后自动退出。 -
u
:仅显示指定用户名的进程信息,需要输入用户名。 -
p
:仅显示指定进程 ID 的信息,需要输入进程 ID。 -
c
:切换显示完整的命令行或仅显示命令名。 -
S
:切换累计显示进程的 CPU 使用时间或仅显示当前的 CPU 使用时间。 -
I
:切换显示总体 CPU 使用率或各个核心的 CPU 使用率。 -
h
:切换显示或隐藏线程信息。 -
i
:切换显示或隐藏闲置或无用的进程。 -
b
:切换显示或隐藏加粗的高亮显示。 -
x
:切换显示或隐藏高亮的排序列。 -
y
:切换显示或隐藏高亮的运行进程。 -
z
:切换显示或隐藏彩色的显示。 -
l
:切换显示或隐藏系统的总体信息。 -
m
:切换显示或隐藏内存和交换分区的信息。 -
t
:切换显示或隐藏 CPU 的使用情况。 -
f
:进入字段选择模式,可以选择显示或隐藏哪些字段,以及调整字段的顺序。 -
o
:进入排序选择模式,可以选择按照哪个字段进行排序。 -
s
:进入安全模式,避免误操作。
Linux top 命令的一些常用操作如下:
-
显示进程信息:直接输入
top
命令,就可以显示当前系统所有程序和系统使用情况,包括系统的总体信息和各个进程的信息。 -
显示完整命令:在 top 命令运行时,按下
c
键,就可以切换显示完整的命令行或仅显示命令名,这样可以更清楚地看到进程的具体信息。 -
以批处理模式显示程序信息:使用
top -b
命令,就可以以批处理(batch)模式运行 top,直接将结果输出到文件,这样可以方便地保存和分析 top 的结果。 -
以累积模式显示程序信息:使用
top -S
命令,就可以以累积模式运行 top,显示进程的累计 CPU 时间,而不是当前的 CPU 时间,这样可以更准确地看到进程的 CPU 使用情况。 -
设置信息更新次数:使用
top -n <次数>
命令,就可以指定 top 命令运行的次数后自动退出,例如top -n 2
表示更新两次后终止更新显示。 -
设置信息更新时间:使用
top -d <秒数>
命令,就可以指定 top 命令的刷新时间间隔,单位为秒,例如top -d 3
表示更新周期为 3 秒。 -
显示指定的进程信息:使用
top -p <进程ID>
命令,就可以仅显示指定进程 ID 的信息,例如top -p 139
表示显示进程号为 139 的进程信息,包括 CPU、内存占用率等。 -
显示指定的用户的进程信息:使用
top -u <用户名>
命令,就可以仅显示指定用户名的进程信息,例如top -u root
表示显示 root 用户的进程信息。 -
按键命令:在 top 命令运行时,还可以使用一些按键命令来进行操作,如按下
k
可以终止一个进程,按下h
可以显示帮助信息,按下q
可以退出 top 等。 -
排序:在 top 命令运行时,还可以按照 CPU 使用率、内存使用率、进程 ID 等对进程进行排序,如按下
P
可以按照 CPU 使用率对进程进行排序,按下M
可以按照内存使用率对进程进行排序,按下N
可以按照进程 ID 对进程进行排序,按下T
可以按照 CPU 时间对进程进行排序等。
行动吧,在路上总比一直观望的要好,未来的你肯定会感谢现在拼搏的自己!如果想学习提升找不到资料,没人答疑解惑时,请及时加入群: 786229024,里面有各种测试开发资料和技术可以一起交流哦。
最后: 下方这份完整的软件测试视频教程已经整理上传完成,需要的朋友们可以自行领取【保证100%免费】
软件测试面试文档
我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。