Linux性能监控速成:3分钟搞懂top命令,轻松揪出系统卡顿元凶!
一、基本功能
top 是 Linux 系统实时性能监控工具,用于动态查看进程资源占用及系统整体状态,类似 Windows 任务管理器。主要功能包括:
- 「系统概览」:CPU、内存、交换区使用情况,负载平均值(Load Average)等。
- 「进程监控」:按 CPU、内存等指标实时排序进程,显示进程详细信息。
-
「交互操作」:支持动态调整显示内容、排序方式及进程管理操作。
二、界面解析
top 界面分为 「统计信息区」 和 「进程信息区」。
- 统计信息区(前五行)
- 「第一行」(系统状态):
- 当前时间、系统运行时间、登录用户数。
- 「Load Average」:1/5/15 分钟的平均任务队列长度。若数值 > 逻辑 CPU 核心数,表示系统过载。
- 「第二、三行」(CPU 使用):
- us(用户空间)
- sy(内核空间)
- id(空闲)
- wa(I/O 等待)
- st(虚拟 CPU 被宿主机占用的时间,虚拟机需重点关注)
- 「第四、五行」(内存与交换区):
- Mem:物理内存总量、使用量、缓存
- Swap:交换区使用情况,若频繁使用可能需优化内存
- 「第一行」(系统状态):
- 进程信息区
- 「关键列」:
- PID:进程 ID
- USER:所有者
- %CPU/%MEM:CPU/内存占比
- VIRT(虚拟内存总量)
- RES(物理内存使用)
- SHR(共享内存)
- TIME+:进程累计 CPU 时间
- 「进程状态」:
- R(运行)
- S(睡眠)
- D(不可中断)
- Z(僵尸进程)
-
T(停止)
三、常用参数
- 「关键列」:
| 参数 | 说明 |
| :—-: | :—-: |
| -d <秒> | 刷新间隔(默认 3 秒) |
| -p
top -d 2 -p 1234 # 每 2 秒刷新,仅监控 PID 1234 的进程
top -b -n 3 > log.txt # 输出 3 次统计结果到文件
四、交互命令
在 top 界面中,按以下键实时操作:
- 「排序」:
- P(按 CPU 使用率)
- M(按内存使用率)
- T(按累计 CPU 时间)
- R(切换升序/降序)
- 「显示调整」:
- f:选择显示/隐藏列
- o:调整列顺序
- z:切换颜色高亮
- x:高亮排序列
- 「进程管理」:
- k:终止进程
- r:调整进程优先级(需输入 PID)
- 「退出」:
-
q 或 Ctrl+C
五、使用技巧
-
- 「负载分析」:Load Average 除以逻辑 CPU 核心数,若结果持续 >3 需排查性能瓶颈。
- 「虚拟化监控」:%st(Steal Time)过高表示虚拟机资源被宿主机抢占。
- 「线程模式」:按 H 可查看线程级资源占用,结合 top -H -p
定位多线程问题。 -
「批处理模式」:top -b -n 2 适合自动化脚本采集性能数据。
六、应用场景
- 「快速定位高负载进程」:按 P/M 排序,找出 CPU/内存消耗大的进程。
- 「监控虚拟机性能」:关注 %st 判断宿主机资源是否不足。
-
「排查僵尸进程」:检查 Z 状态进程并终止。
通过掌握上述内容,可快速使用 top 进行系统性能分析与优化。更多高级用法(如自定义输出字段、多窗口模式)可通过 man top 进一步探索。