top
命令使用详解
top
是 Linux 系统中用于实时监控系统资源使用情况和进程状态的强大工具。以下是对其使用方法的详细解析:
一、基本用法
直接输入 top
即可启动,界面分为两部分:
- 上半部分:系统概况(CPU、内存、交换分区、运行时间等)。
- 下半部分:进程列表(默认按 CPU 使用率排序)。
二、关键界面信息解读
1. 系统概况区
第一行:
- 当前时间、系统运行时间(
up ...
)、登录用户数(users
)。 - 负载平均值(
load average
):1分钟、5分钟、15分钟的平均负载(超过 CPU 核数表示高负载)。
- 当前时间、系统运行时间(
第二行(Tasks):
- 总进程数、运行中(
running
)、休眠(sleeping
)、停止(stopped
)、僵尸进程(zombie
)。
- 总进程数、运行中(
第三行(CPU):
us
(用户空间占用)、sy
(内核空间占用)、ni
(优先级进程占用)、id
(空闲)、wa
(I/O等待)、hi
(硬件中断)、si
(软件中断)、st
(虚拟机占用)。
第四行(内存):
total
(总量)、free
(空闲)、used
(已用)、buff/cache
(缓存)。
第五行(交换分区):
- 类似内存信息,交换分区使用情况。
2. 进程列表区
PID
:进程 ID。USER
:进程所有者。PR
(优先级)、NI
(Nice 值)。VIRT
:虚拟内存总量(KB)。RES
:实际物理内存使用量(KB)。SHR
:共享内存大小(KB)。%CPU
:CPU 使用率(**单核满负载为 100%**)。%MEM
:内存使用率。TIME+
:累计 CPU 时间。COMMAND
:启动命令。
三、常用交互式命令
1. 排序
P
(默认):按 CPU 使用率排序。M
:按内存使用率排序。T
:按运行时间排序。N
:按 PID 排序。R
:反向排序(配合排序键使用)。
2. 显示控制
k
:终止进程(需输入 PID)。f
:自定义显示列(按空格选择/取消)。z
:切换颜色主题。c
:显示完整命令路径。1
:展开 CPU 核心的详细使用情况。h
:查看帮助。
3. 刷新与退出
s
:修改刷新间隔(秒)。q
:退出 top。
四、启动参数(命令行选项)
基础参数
-d <秒>
:设置刷新间隔(如top -d 5
)。-p <PID>
:仅监控指定进程(如top -p 1234
)。-u <用户>
:仅显示指定用户的进程(如top -u root
)。-b
:批处理模式(输出到文件,如top -b -n 3 > top.log
)。-n <次数>
:指定刷新次数后退出(配合-b
使用)。
高级参数
-H
:显示线程(需在界面中按H
切换)。-i
:忽略空闲进程。
五、实战示例
1. 监控指定用户的进程
1 | top -u apache |
2. 记录系统状态到文件
1 | top -b -n 5 > system_status.log |
3. 仅监控 CPU 密集型进程
启动 top
后按 P
,观察 %CPU
列。
六、启动参数(命令行选项)
- 僵尸进程:若发现大量
zombie
进程,需检查父进程是否正常回收资源。 - 高负载处理:负载持续过高时,结合
vmstat
或iostat
分析I/O
或CPU
瓶颈。 - 内存泄漏:
RES
持续增长的进程可能存在内存泄漏。
七、替代工具推荐
- htop:交互更友好,支持鼠标操作(需安装)。
- glances:综合监控工具,支持多服务器。