top 是一个用于动态显示系统进程和资源使用情况的命令行工具。以下是 top 命令的所有参数及其说明,分为 命令行参数 和 交互式按键 两部分。
命令行参数
参数 描述
-b 批处理模式(Batch mode),适合记录日志
-c 显示完整的命令行(默认只显示进程名)
-d 设置刷新间隔(秒),例如 -d 1.5 表示 1.5 秒刷新一次
-H 显示线程信息(默认显示进程)
-i 忽略空闲进程(Idle processes)
-n 设置刷新次数,例如 -n 5 表示刷新 5 次后退出
-p 监控指定的进程 ID,例如 -p 1234
-s 安全模式,禁用交互式按键
-u 仅显示指定用户的进程,例如 -u john
-U 仅显示指定用户的进程(与 -u 类似)
-V 显示版本信息并退出
交互式按键
在 top 运行时,可以通过按键进行交互式操作。以下是一些常用的交互式按键及其功能:
按键 功能描述
q 退出 top
h 显示帮助信息
k 终止(kill)一个进程
r 重新启动(renice)一个进程
s 设置刷新间隔时间
f 配置显示的字段
o 配置排序字段
P 按 CPU 使用率排序
M 按内存使用率排序
N 按进程 ID 排序
T 按运行时间排序
A 按年龄排序(启动时间)
W 将当前配置保存到 .toprc 文件
l 切换显示负载平均值(Load average)
m 切换显示内存信息
t 切换显示任务信息
1 切换显示单个 CPU 或所有 CPU 的使用情况
示例
显示所有进程
top
以批处理模式运行,适合记录日志
top -b -n 5 > output.log
显示完整的命令行
top -c
设置刷新间隔为 2 秒
top -d 2
仅显示用户 john 的进程
top -u john
仅显示进程 ID 为 1234 的进程
top -p 1234
结果分析:
1.顶部信息
系统时间:显示当前系统时间。
系统运行时间:显示系统自上次启动以来的运行时间。
当前登录用户数:显示当前登录到系统的用户数量。
系统负载平均值:显示过去 1 分钟、5 分钟和 15 分钟的系统负载平均值。负载值表示等待 CPU 资源的进程数量,值越低表示系统越空闲。
2. 任务信息
总任务数:显示系统中当前的任务总数。
运行任务数:显示当前正在运行的任务数量。
睡眠任务数:显示当前处于睡眠状态的任务数量。
停止任务数:显示当前被停止的任务数量。
僵尸任务数:显示当前的僵尸进程数量。
3. CPU 使用率
%Cpu(s):显示 CPU 的使用情况,包括:
us:用户空间的 CPU 使用率。
sy:内核空间的 CPU 使用率。
ni:低优先级进程的 CPU 使用率。
id:CPU 空闲时间百分比。
wa:CPU 等待 I/O 操作完成的时间百分比。
hi:硬件中断处理时间百分比。
si:软件中断处理时间百分比。
st:被其他虚拟机偷走的 CPU 时间(仅在虚拟化环境中)。
4. 内存使用
KiB Mem:总物理内存大小(单位:KiB)。
KiB Used:已使用的物理内存量(单位:KiB)。
KiB Free:空闲的物理内存量(单位:KiB)。
KiB Buffers:用作缓冲区的内存量(单位:KiB)。
KiB Cached:用作缓存的内存量(单位:KiB)。
5. 进程信息
PID:进程的唯一标识符。
USER:运行该进程的用户。
PR:进程的优先级。
NI:进程的 nice 值,表示进程的优先级调整。
VIRT:进程使用的虚拟内存总量(单位:KiB)。
RES:进程使用的物理内存量(单位:KiB)。
SHR:进程共享的内存量(单位:KiB)。
S:进程状态(R:运行,S:睡眠,D:不可中断睡眠,Z:僵尸进程,T:停止)。
%CPU:进程占用的 CPU 使用率。
%MEM:进程占用的内存使用率。
TIME+:进程占用的 CPU 时间。
COMMAND:进程的名称或命令。
6. 底部信息
字段说明:底部通常会显示一些快捷键和帮助信息,用于操作 top 命令。