Linux命令:top

简介

Linux top 是一个在 Linux 和其他类 Unix 系统上常用的实时系统监控工具。它提供了一个动态的、交互式的实时视图,显示系统的整体性能信息以及正在运行的进程的相关信息。

语法

top [-] [d delay] [q] [c] [S] [s] [i] [n] [b]

参数说明:

  • -d <秒数>:指定 top 命令的刷新时间间隔,单位为秒。
  • -n <次数>:指定 top 命令运行的次数后自动退出。
  • -p <进程ID>:仅显示指定进程ID的信息。
  • -u <用户名>:仅显示指定用户名的进程信息。
  • -H:在进程信息中显示线程详细信息。
  • -i:不显示闲置(idle)或无用的进程。
  • -b:以批处理(batch)模式运行,直接将结果输出到文件。
  • -c:显示完整的命令行而不截断。
  • -S:累计显示进程的 CPU 使用时间。

使用详解

image

第一部分:系统整体统计信息(系统概览区/任务统计区/CPU 状态区/内存使用区)

  • top - 15:51:39 up 5 min, 1 user, load average: 8.83, 8.83, 8.08
    • 15:51:39: 当前系统时间。
    • up 5 min: 系统已经运行了 5 分钟。
    • 1 user: 当前有一个用户登录到系统。
    • load average: 8.83, 8.83, 8.08: 系统在过去 1 分钟、5 分钟和 15 分钟内的平均负载。负载平均值越高,表示系统越繁忙。
  • Tasks: 172 total, 1 running, 171 sleeping, 0 stopped, 0 zombie
    • 172 total: 系统中总共有 172 个进程。(新建一个 Terminal 就多一个)
    • 1 running: 有 1 个进程正在运行。
    • 171 sleeping: 有 171 个进程处于睡眠状态。
    • 0 stopped: 没有进程处于停止状态。
    • 0 zombie: 没有僵尸进程。
  • Cpu(s): 0.0 us, 8.0 sy, 0.0 ni, 99.9 id, 0.0 wa, 0.1 hi, 8.0 si, 0.0 st
    • us (user): 用户进程占用 CPU 的百分比。
    • sy (system): 系统进程占用 CPU 的百分比。
    • ni (nice): 优先级调整过的进程占用 CPU 的百分比。
    • id (idle): CPU 空闲的百分比。(经常很大,80%以上)
    • wa (wait): CPU 等待 I/O 操作的百分比。
    • hi (hardware IRQ): 硬中断占用 CPU 的百分比。
    • si (software IRQ): 软中断占用 CPU 的百分比。
    • st (steal): 被虚拟化环境窃取的 CPU 百分比。
  • MiB Mem: 3627.6 total, 3104.2 free, 460.0 used, 291.2 buff/cache
    • total: 总内存大小。
    • free: 空闲内存大小。
    • used: 已用内存大小。
    • buff/cache: 缓冲区和缓存占用的内存大小。
  • MiB Swap: 2048.0 total, 2048.0 free, 0.0 used. 3167.6 avail Mem
    • total: 总交换空间大小。(什么是交换空间,不懂?)
    • free: 空闲交换空间大小。
    • used: 已用交换空间大小。
    • avail Mem: 可用内存大小。

第二部分:进程详细信息(进程信息列说明)

列名 含义
PID 进程 ID
USER 进程所有者
PR 优先级
NI Nice 值(优先级调整值)
VIRT 虚拟内存使用量
RES 物理内存使用量
SHR 共享内存大小
%CPU CPU 使用率
%MEM 内存使用率
TIME+ 累计 CPU 时间
COMMAND 命令名/命令行

  • PID (Process ID): 进程的唯一标识符。
  • USER: 运行进程的用户。
  • PR (Priority): 进程的优先级。
  • NI (Nice): 进程的 nice 值,影响优先级。
  • VIRT (Virtual Memory): 进程使用的虚拟内存大小。
  • RES (Resident Size): 进程使用的物理内存大小。
  • SHR (Shared Memory): 进程使用的共享内存大小。
  • S (Status): 进程的状态 (R=运行, S=睡眠, D=不可中断的睡眠, Z=僵尸, T=跟踪/停止)。
    image
  • %CPU: 进程占用 CPU 的百分比。
    image
  • %MEM: 进程占用内存的百分比。
  • TIME+: 进程自启动以来占用的 CPU 时间。
  • COMMAND: 运行进程的命令。

 

刷新与控制

  • k - 杀死进程(需输入 PID)
    按k之后,默认会选占用最大CPU的进程(也可以输入PID),直接按回车,再按选择信号,再按回车,即可 kill 对应的进程。

image

image

  • r - 调整进程优先级(renice)

  • 空格 - 立即刷新

  • q - 退出 top

 

使用技巧

# 监控特定进程
top -p $(pgrep nginx)  # 监控 nginx 相关进程

# 监控高内存进程
top -o %MEM

与类似工具对比

工具 特点
htop 增强版 top,支持鼠标操作,界面更友好
atop 更详细的监控,特别是磁盘和网络
glances 跨平台,支持 Web 界面
nmon IBM 开发,适合性能分析
posted @ 2025-12-30 22:18  FBshark  阅读(10)  评论(0)    收藏  举报