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:综合监控工具,支持多服务器。