Linux top 命令详解

top 命令概述

top 命令用于实时监控系统的 CPU、内存、进程等资源使用情况,类似于 Windows 的任务管理器。它以动态列表的形式显示系统中最耗资源的进程,并定期刷新。


语法与常用选项

top [-p -d -c -n -b -i -u...] 
选项 说明
-p 仅显示指定 PID 的进程信息(可重复使用以监控多个进程)
-d 设置刷新间隔时间(秒),默认 5 秒
-c 显示完整的命令行,而不仅是进程名
-n 指定刷新次数,达到次数后自动退出(如 top -n 3
-b 批处理模式,不以交互方式运行,通常与 -n 配合输出到文件
-i 不显示闲置(idle)或僵尸(zombie)进程
-u 仅显示指定用户启动的进程

输出信息详解

运行 top 后,界面分为两部分:系统摘要区(前五行)和进程列表区

image-20230621155211361

系统摘要区

  1. 第一行:系统时间与负载

    top - 16:01:57 up 1:15,  4 users,  load average: 0.15, 0.10, 0.12
    
    • 16:01:57:当前系统时间
    • up 1:15:系统已运行 1小时15分钟
    • 4 users:当前登录用户数
    • load average:过去 1分钟、5分钟、15分钟的平均负载(任务队列长度)。数值越大,系统压力越高。
  2. 进程统计

    Tasks: 234 total,   1 running, 233 sleeping,   0 stopped,   0 zombie
    
    • total:进程总数
    • running:正在运行的进程数
    • sleeping:正在休眠的进程数
    • stopped:已停止的进程数
    • zombie:僵尸进程数
  3. CPU使用情况

    %Cpu(s):  0.0 us,  0.0 sy,  0.0 ni, 99.7 id,  0.3 wa,  0.0 hi,  0.0 si,  0.0 st
    
    • us:用户空间占用 CPU 百分比
    • sy:内核空间占用 CPU 百分比
    • ni:改变过优先级的进程占用 CPU 百分比
    • id:空闲 CPU 百分比
    • wa:等待磁盘 I/O 的时间百分比
    • hi:硬中断占用时间百分比
    • si:软中断占用时间百分比
    • st:虚拟机被 Hypervisor 偷走的时间(仅虚拟化环境)
  4. 物理内存使用情况

    MiB Mem :   1982.3 total,   123.4 free,   1023.5 used,    835.4 buff/cache
    
    • total:物理内存总量
    • free:空闲内存量
    • used:已使用的内存量
    • buff/cache:用于缓存和缓冲的内存量
  5. 交换分区使用情况

    MiB Swap:   2048.0 total,   2048.0 free,      0.0 used.    803.7 avail Mem
    
    • total:交换分区总量
    • free:空闲交换分区大小
    • used:已使用的交换分区大小
    • avail Mem:可用于启动新程序的物理内存估算值(包括可回收的缓存)

进程列表区

字段 说明
PID 进程 ID
USER 启动进程的用户
PR 进程优先级
NI nice 值(负值表示高优先级,正值表示低优先级)
VIRT 进程使用的虚拟内存总量(KB)
RES 进程使用的物理内存大小(常驻内存,KB)
SHR 进程使用的共享内存大小(KB)
S 进程状态:R(运行)、S(睡眠)、D(不可中断睡眠)、Z(僵尸)、T(停止)
%CPU 进程占用的 CPU 使用率
%MEM 进程占用的物理内存百分比
TIME+ 进程累计使用的 CPU 时间(1/100 秒)
COMMAND 进程的命令名称(若使用 -c 选项则显示完整命令行)

常用交互命令

top 运行界面,可按键进行交互操作:

按键 功能
空格 立即刷新显示
q 退出 top
k 杀死指定进程(需输入 PID)
r 修改指定进程的优先级(renice)
s 修改刷新间隔时间(秒)
f 进入字段管理界面,选择显示/隐藏列
o 按指定字段排序(可组合)
> 按 CPU 使用率降序排序(Shift + >
< 按内存使用率降序排序(Shift + <
H 切换显示/隐藏线程信息
i 切换显示/隐藏闲置和僵尸进程
u 仅显示指定用户的进程
M 按内存使用率排序(大写 M)
P 按 CPU 使用率排序(大写 P)
T 按累计运行时间排序(大写 T)
1 展开/折叠多核 CPU 的单独统计
posted @ 2023-06-28 10:31  克峰同学  阅读(360)  评论(0)    收藏  举报