简介
top是一个用于实时监控Linux系统性能的强大工具,它能够动态显示系统中各个进程的资源占用情况,包括CPU使用率、内存使用量、运行时间等关键指标。
主要功能:
- 实时监控系统状态
- 查看进程资源使用
- 排序和筛选进程
- 进程管理操作
- 系统性能分析
基础用法
启动选项
选项 | 说明 | 示例 |
---|---|---|
-d | 指定刷新间隔 | top -d 3 |
-p | 监控特定进程 | top -p 1234 |
-u | 显示特定用户的进程 | top -u root |
-b | 批处理模式 | top -b -n 1 |
-n | 指定更新次数 | top -n 5 |
界面说明
top界面分为两部分:
- 系统信息区(前5行):
- 第1行:系统时间、运行时间、用户数、负载均衡
- 第2行:进程统计信息
- 第3行:CPU使用率
- 第4-5行:内存使用情况
- 进程信息区:
- PID:进程ID
- USER:进程所有者
- PR:进程优先级
- NI:nice值
- VIRT:虚拟内存
- RES:物理内存
- SHR:共享内存
- S:进程状态
- %CPU:CPU使用率
- %MEM:内存使用率
- TIME+:CPU时间
- COMMAND:命令名/行
交互操作
常用交互命令
按键 | 功能 |
---|---|
h | 显示帮助 |
k | 终止进程 |
r | 重新设置优先级 |
f | 添加/删除显示字段 |
o | 改变显示顺序 |
s | 改变刷新时间 |
W | 保存配置 |
q | 退出 |
排序方式
常用排序快捷键:
- P:按CPU使用率排序
- M:按内存使用率排序
- T:按CPU时间排序
- N:按PID排序
性能分析
CPU分析
CPU状态说明:
- us:用户空间占用CPU百分比
- sy:内核空间占用CPU百分比
- ni:用户进程空间内改变过优先级的进程占用CPU百分比
- id:空闲CPU百分比
- wa:等待输入输出的CPU时间百分比
- hi:硬件中断占用CPU百分比
- si:软件中断占用CPU百分比
- st:虚拟机占用百分比
内存分析
内存相关字段说明:
- VIRT:进程使用的虚拟内存总量
- RES:进程使用的物理内存大小
- SHR:共享内存大小
- %MEM:进程使用的物理内存百分比
定制显示
自定义显示字段
按f键进入字段管理:
- 空格键:选择/取消选择字段
- s键:设置排序字段
- q键:返回主界面
配置文件
# ~/.toprc 配置示例
RCfile for "top with windows"
Id:a, Mode_altscr=0, Mode_irixps=1, Delay_time=3.0, Curwin=0
故障排查
常见问题分析
排查要点:
- CPU使用率异常高
- 内存占用过大
- 僵尸进程
- IO等待时间长
批处理脚本
#!/bin/bash
# 每隔1秒记录一次系统状态,共记录10次
top -b -n 10 -d 1 > system_status.log
# 分析CPU使用率最高的进程
top -b -n 1 | head -n 12 | tail -n 5 > high_cpu_processes.log
# 监控特定进程
top -b -n 5 -d 2 -p $(pgrep -d',' nginx) > nginx_status.log