简介

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界面分为两部分:

  1. 系统信息区(前5行):
    • 第1行:系统时间、运行时间、用户数、负载均衡
    • 第2行:进程统计信息
    • 第3行:CPU使用率
    • 第4-5行:内存使用情况
  2. 进程信息区:
    • 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