top — 实时进程监控

top 是交互式系统监控工具,实时显示进程和系统资源使用情况。

命令说明

top 持续刷新显示系统摘要和按 CPU 使用率排序的进程列表。它提供交互式命令来排序、筛选和管理进程。htop 是其增强替代品(如果可用)。

应用场景

  • 实时监控 CPU 和内存使用
  • 找出占用资源的进程
  • 查看进程状态
  • 监控多核 CPU 使用
  • 发送信号到进程
  • 排查性能问题

常用示例

示例 1:启动 top

bash
复制代码
top
plaintext
复制代码
top - 10:30:15 up 45 days,  2:15,  3 users,  load average: 0.15, 0.25, 0.30
Tasks: 284 total,   1 running, 283 sleeping,   0 stopped,   0 zombie
%Cpu(s):  3.5 us,  1.2 sy,  0.0 ni, 95.0 id,  0.0 wa,  0.0 hi,  0.3 si,  0.0 st
MiB Mem :  31907.3 total,   3456.7 free,  12345.6 used,  16105.0 buff/cache
MiB Swap:   8192.0 total,   8012.0 free,    180.0 used.  18756.0 avail Mem

    PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND
  12345 alice     20   0 4567890 890123  45678 S  15.3   2.7  12:34.56 node
  23456 bob       20   0 2345678 456789  23456 S   8.2   1.4   5:67.89 python3
    456 root      20   0  456789 123456   7890 S   2.1   0.4 123:45.67 systemd

示例 2:指定刷新间隔

bash
复制代码
top -d 1

示例 3:只显示特定用户的进程

bash
复制代码
top -u alice

示例 4:显示特定 PID 的进程

bash
复制代码
top -p 12345

示例 5:批处理模式(适合脚本)

bash
复制代码
top -b -n 1 > top_output.txt

交互式命令

按键 说明
q 退出
k 终止进程(输入 PID)
r 重新设置优先级
M 按内存使用率排序
P 按 CPU 使用率排序
T 按运行时间排序
N 按 PID 排序
1 显示每个 CPU 核心的使用率
c 切换完整命令显示
u 筛选用户
i 只显示活动进程
H 显示线程
V 树状显示
Space 手动刷新
W 保存当前配置

help 参数详解

参数 长参数 说明
-d N --delay N 刷新间隔(秒)
-u USER --user USER 只显示指定用户的进程
-p PID --pid PID 只显示指定 PID
-b --batch 批处理模式
-n N --iterations N 批处理模式下刷新 N 次后退出
-H --threads 显示线程
-c 显示完整命令行
-i 只显示运行中的进程
-o FIELD 指定排序字段
-h --help 显示帮助