1. 介绍
top
是一个常用的 Linux 命令行工具,用于实时监视系统资源和进程的运行情况。用户可以通过 top
命令查看系统的 CPU 使用率、内存占用情况、进程列表等重要信息,帮助快速了解系统运行状态并进行性能监控。该工具可以认为相当于windows上的任务管理器
2. 使用说明
2.1 启动 top
在终端中输入以下命令启动 top
:
top
启动后,top
会显示当前系统的状态并持续更新,默认每 3 秒刷新一次。
2.2 top 的交互界面
启动 top
后,用户会看到一个由多个部分组成的界面:
下面进行对界面进行解释
2.2.1 系统摘要信息
第一行:
-
top - 16:05:23 up 10 days, 3:55, 2 users, load average: 0.05, 0.10, 0.15
-
16:05:23
:当前时间。 -
up 10 days
:系统已运行 10 天。 -
3:55
:系统自上次启动以来的运行时间为 3 小时 55 分钟。 -
2 users
:当前有 2 个用户登录。 -
load average: 0.05, 0.10, 0.15
:最近 1 分钟、5 分钟和 15 分钟的平均负载,这表示系统处理的平均进程数。值越大,表示系统压力越大。
-
2.2.2 任务信息
第二行:
Tasks: 203 total, 1 running, 202 sleeping, 0 stopped, 0 zombie
-
-
203 total
:总进程数。 -
1 running
:当前正在运行的进程数。 -
202 sleeping
:处于睡眠状态的进程数(即等待事件发生)。 -
0 stopped
:被停止的进程数。 -
0 zombie
:僵尸进程数(已经结束但尚未被父进程回收的进程)。
-
2.2.3 CPU 信息
第三行:
-
%Cpu(s): 2.0 us, 0.5 sy, 0.0 ni, 97.5 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
-
2.0 us
:用户空间占用的 CPU 百分比,表示应用程序使用的 CPU 时间。 -
0.5 sy
:内核空间占用的 CPU 百分比,表示系统调用和内核操作使用的 CPU 时间。 -
0.0 ni
:改变优先级的进程占用的 CPU 百分比。 -
97.5 id
:空闲 CPU 百分比,表示没有被任何进程使用的 CPU 时间。 -
0.0 wa
:等待 I/O 操作的 CPU 百分比。 -
0.0 hi
:硬件中断占用的 CPU 百分比。 -
0.0 si
:软件中断占用的 CPU 百分比。 -
0.0 st
:虚拟机抢占的 CPU 百分比。
-
2.2.3 内存信息
第四行:
MiB Mem : 7988.8 total, 1024.5 free, 3456.7 used, 4507.6 buff/cache
7988.8 total
:系统总内存(以 MiB 为单位)。
1024.5 free
:当前空闲内存。
3456.7 used
:已用内存。
4507.6 buff/cache
:用于缓冲和缓存的内存。
2.2.4 交换区信息
第五行:
MiB Swap: 2048.0 total, 1200.0 free, 848.0 used. 4875.8 avail Mem
2048.0 total
:总交换空间。
1200.0 free
:当前空闲交换空间。
848.0 used
:已用交换空间。
4875.8 avail Mem
:可用内存,包括缓存和缓冲的内存。
2.3 常用快捷键
在 top
的交互界面中,可以使用以下快捷键进行操作:
-
q:退出
top
。 -
k:杀死选定进程。输入进程 PID 后按回车确认。
-
例如,要结束 PID 为 1234 的进程,输入
k
,然后输入1234
。
-
-
r:改变进程优先级。输入进程 PID 和新的优先级值后按回车确认。
-
例如,将 PID 为 1234 的进程优先级设置为 10,输入
r
,然后输入1234
和10
。
-
-
1:显示多核 CPU 使用情况,分别列出每个 CPU 的使用率。
-
m:切换到内存信息视图,显示模式,聚焦显示内存的详细使用情况。
-
t:切换到 CPU 信息视图,显示 CPU 使用率的详细信息。
-
h:显示帮助信息,包括所有可用的快捷键和功能说明。
-
P:按 CPU 使用率排序进程(默认)。
-
W:把当前文件保存到文件中,下次启动top会使用当前配置
-
M:按内存使用量排序进程。
-
N:按进程号排序。
-
T:按运行时间排序。
-
E: 切换内存单位模式(K M G T P这些模式切换)
-
f:对进程列表进行编辑,按照我们呢选定的属性进行排列(操作上下键,然后选到我们想要的属性 按s键,就会选中),还可以不显示指定的(按空格键 就会让指定的属性不会显示在进程列表)然后各项操作完成,按q可退出
-
Z:进入彩色模式
2.4 示例输出
以下是 top
命令的一部分示例输出:
top - 16:05:23 up 10 days, 3:55, 2 users, load average: 0.05, 0.10, 0.15
Tasks: 203 total, 1 running, 202 sleeping, 0 stopped, 0 zombie
%Cpu(s): 2.0 us, 0.5 sy, 0.0 ni, 97.5 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
MiB Mem : 7988.8 total, 1024.5 free, 3456.7 used, 4507.6 buff/cache
MiB Swap: 2048.0 total, 1200.0 free, 848.0 used. 4875.8 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
12345 john 20 0 162000 5000 3000 S 1.0 0.1 0:01.00 myapp
...
解析示例输出
-
系统摘要信息:显示系统当前时间、运行时间、用户数和负载情况。
-
任务信息:表示当前系统中的进程统计信息。
-
CPU 信息:指示 CPU 的各类使用情况,帮助判断是否存在性能瓶颈。
-
内存信息:提供有关系统内存和交换空间的详细数据,方便分析内存使用状况。
-
进程列表:
-
PID
:进程 ID。 -
USER
:进程所属用户。 -
PR
:当前优先级。 -
NI
:niceness 值(越低优先级越高)。 -
VIRT
:虚拟内存占用量。 -
RES
:实际物理内存占用量。 -
SHR
:共享内存占用量。 -
S
:进程状态(如 S 表示睡眠状态)。 -
%CPU
:当前 CPU 使用百分比。 -
%MEM
:当前内存使用百分比。 -
TIME+
:进程的累计 CPU 时间。 -
COMMAND
:启动该进程的命令。
-
总结
该命令用于实时监视系统资源和进程运行情况,类似于 Windows 上的任务管理器。文章详细描述了如何启动 top 命令、top 的交互界面各部分的含义,包括系统摘要信息、任务信息、CPU 信息、内存信息以及交换区信息。此外,还列出了常用的快捷键操作,如退出 top、杀死进程、改变进程优先级等。最后,文章给出了示例输出的解析,解释了示例输出中各部分的含义,包括系统摘要信息、任务信息、CPU 信息、内存信息以及进程列表的各字段解释。