如何在 Linux 上使用 top
命令教程
简介
top
命令在 Linux 中显示实时系统信息,包括运行中的进程、活跃用户以及资源利用率,如 CPU 和内存。你可以使用 top
来监控、排查问题,并识别系统中的性能问题。
本文将解释如何在 Linux 中使用 top
命令。
准备工作
服务器准备
必要前提:
- 一台 Linux 服务器(推荐腾讯云、阿里云或雨云等)。
我将以 雨云 为例,带大家创建一台自己的云服务器,以便学习本篇文章的内容。
注册链接: [https://www.rainyun.com/NTY5MTk3_)
创建雨云服务器
以下步骤仅供参考,请根据实际需求选择配置。
- 点击 云产品 → 云服务器 → 立即购买。
- 选择距离你较近的区域,以保证低延迟。
-
按照自己需求选择配置,选择 Ubuntu 22.04 版本,按照自己需求是否预装 Docker。
-
最后按照提示进行购买。
-
购买后等待机器部署完毕,点击刚刚创建好的服务器,进入管理面板,找到远程连接相关信息。
-
我们使用
PowerShell
进行SSH
远程连接到服务器,Win+R
打开运行窗口,输入powershell
后点击确定。 -
到此为止,我们的云服务器就远程连接上了。
安装和配置步骤
第一步:top
命令的基本语法
以下是 Linux top
命令的基本语法:
top [options]
在上述命令中,options
修改命令的行为以自定义输出。
第二步:最常见的 Linux top
命令选项
以下是最常见的 Linux top
命令选项:
选项 | 描述 |
---|---|
-d | 延迟屏幕更新之间的时间间隔。 |
-p | 监控特定的进程 ID。 |
-n | 定义 top 退出前的迭代次数。 |
-b | 运行批处理模式操作以在文件中捕获输出。 |
-u | 显示特定用户的进程。 |
-s | 运行 top 在安全模式下隐藏或掩蔽某些信息。 |
-i | 忽略空闲和僵尸进程。 |
-o | 根据特定字段(例如,CPU 使用率)对进程进行排序。 |
-H | 显示单独的线程。 |
-c | 显示命令名称而不是命令行参数。此选项使进程列表更易读。 |
第三步:理解 Linux top
命令界面
top
命令界面默认情况下会连续显示进程列表和关于 CPU 使用率、内存使用率、负载平均值等系统统计信息。列表显示了最消耗资源的进程在顶部。
运行不带任何选项的 top
命令以访问默认界面,查看系统进程、CPU 和内存使用情况。
按 Ctrl
或 Q
退出界面。
第四步:top
命令界面的各个部分
top
命令界面有以下几个部分:
-
系统信息:显示系统的一般信息,包括运行时间、活跃用户数量、负载平均值和运行中的进程数量。
示例:
top - 15:24:15 up 2 days, 4:36, 2 users, load average: 0.08, 0.09, 0.10
-
任务摘要:显示总活动任务的摘要,包括进程数量及其状态。
示例:
Tasks: 142 total, 1 running, 141 sleeping, 0 stopped, 0 zombie
-
系统进程列表:显示每个进程的详细信息,包括 PID、用户、CPU 使用率、内存使用率和命令信息。
示例:
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 1234 root 20 0 123M 45M 15M S 0.3 2.5 0:01.23 process_name
在上述部分中,每个标题代表一个特定值,如下所述:
- PID: 每个任务的唯一进程 ID。
- PR: 系统进程优先级,数字越低表示优先级越高。
- VIRT: 进程使用的总虚拟内存。
- USER: 拥有运行中进程的系统用户。
- %CPU: 进程消耗的 CPU 百分比。
- SHR: 进程使用的共享内存量,单位为
KBs
(千字节)。 - NI: 优先级值,用于优先级 CPU 使用。负值表示更高优先级,正值表示更低优先级。
- %MEM: 显示进程使用的内存百分比。
- RES: 显示进程使用的驻留内存量,单位为
KBs
(千字节)。 - TIME+: 显示进程自启动以来使用的总 CPU 时间。
- COMMAND: 显示启动进程的命令。
-
CPU 使用率:显示 CPU 使用统计信息,包括系统进程上花费的时间和平均输入/输出(I/O)处理时间。
示例:
%Cpu(s): 2.3 us, 1.5 sy, 0.0 ni, 95.6 id, 0.4 wa, 0.0 hi, 0.2 si, 0.0 st
在上述输出中:
us
: 在用户进程上花费的时间。sy
: 在系统(内核)进程上花费的时间。id
: 空闲时间。wa
: 等待 I/O 操作完成所花费的时间。
-
内存使用率:显示系统的内存使用统计信息,包括已使用和可用的内存。
示例:
MiB Mem : 8000.0 total, 2048.0 free, 4500.0 used, 1452.0 buff/cache MiB Swap: 2048.0 total, 2048.0 free, 0.0 used. 3060.0 avail Mem
在上述输出中:
total
: 总可用内存。used
: 已使用的内存。free
: 进程可用的空闲内存。buff/cache
: 用于缓冲区和缓存的内存。
第五步:在 Linux 中运行 top
命令
本节使用实际示例向您展示如何在 Linux 中使用 top
命令。按照以下步骤运行示例。
-
传递
-c
标志以显示进程命令名称而不是参数,使进程列表更易读。 -
设置更新之间的延迟间隔(秒)。例如,
5
秒。 -
监控特定的进程 ID。例如,
1234
和5678
。 -
运行
top
命令,在退出前执行特定次数的迭代。例如,10
次迭代。 -
以批处理模式运行
top
命令,并将界面的输出转发到文件,如top_output.txt
。
$ top -b -n 1 > top_output.txt
-
显示特定用户的进程。将
username
替换为目标用户。 -
忽略并隐藏
top
界面中的空闲和僵尸进程。 -
按内存使用量降序排序进程。
-
显示单独的线程。
第六步:交互式使用 top
命令
使用以下选项自定义 top
命令界面以查看和管理进程:
键 | 描述 |
---|---|
h | 显示关于 top 命令的帮助信息。 |
k | 使用其 PID 杀死进程。 |
q | 退出 top 界面并返回命令行。 |
z | 切换颜色/单色模式。 |
r | 通过指定其 PID 和新优先级值来调整进程的优先级。 |
u | 通过特定用户过滤进程。 |
P | 通过 CPU 使用率对进程进行排序。 |
M | 通过内存使用率对进程进行排序。 |
T | 通过运行时间对进程进行排序。 |
c | 切换显示命令行。 |
1 | 切换显示单个 CPU 状态。 |
第七步:使用高级 Linux top
命令选项
Linux top
命令支持更多高级选项以自定义输出,如下所示:
-
运行
top
在安全模式下隐藏或掩蔽某些信息。例如,隐藏每个进程的命令。 -
按
V
键在top
界面中查看进程的树状结构。 -
按
Z
键在键盘上修改显示颜色。
按照以下步骤进行额外的自定义和颜色选择。
-
按
Z
访问颜色设置页面。 -
按以下任一键修改目标显示字段的颜色:
S
: 摘要数据区域。M
: 消息和提示区域。H
: 标题列。T
: 进程列表中任务的信息。
-
选择要应用在显示字段上的目标颜色:
0
= 黑色1
= 红色2
= 绿色3
= 黄色4
= 蓝色5
= 品红色6
= 青色7
= 白色
按 Enter
确认您的选择并应用更改到您的 top
界面。
- 使用以下键自定义
top
命令界面:
f
: 显示top
配置屏幕以切换列的开或关Up
+Down
浏览配置列表。Space
+d
: 选择或取消选择列。
-
运行
top
命令并按P
监控并按 CPU 使用率排序进程。 -
运行
top
命令并按M
查找内存占用大的进程并按内存使用率排序。 -
运行
top
命令,按K
并输入信号,使用 PID 杀死进程。
结尾
你已经使用 top
命令在 Linux 中监控系统进程。top
命令是一个强大的工具,用于监控系统性能和管理实时活动进程。使用这个工具来管理、排查问题,并识别你服务器中的性能瓶颈。更多信息,请运行 man top
命令。
op命令并按
P` 监控并按 CPU 使用率排序进程。
-
运行
top
命令并按M
查找内存占用大的进程并按内存使用率排序。 -
运行
top
命令,按K
并输入信号,使用 PID 杀死进程。
结尾
你已经使用 top
命令在 Linux 中监控系统进程。top
命令是一个强大的工具,用于监控系统性能和管理实时活动进程。使用这个工具来管理、排查问题,并识别你服务器中的性能瓶颈。更多信息,请运行 man top
命令。
雨云 - 新一代云服务提供商: https://www.rainyun.com/NTY5MTk3_