以下是 Linux top
命令 的使用总结,按功能分类整理,方便快速查询:
一、命令行参数
参数 | 描述 | 示例 |
---|
-d <秒数> | 设置刷新间隔时间 | top -d 2 (每2秒刷新) |
-p <PID> | 监控指定进程ID | top -p 1234 (仅显示PID为1234的进程) |
-u <用户名> | 显示指定用户的进程 | top -u root (仅显示root用户的进程) |
-n <次数> | 循环显示指定次数后退出 | top -n 5 (更新5次后退出) |
-b | 批处理模式(适合输出到文件) | top -b -n 1 > output.txt |
-c | 显示完整命令行(非缩写) | top -c |
-H | 显示线程(而非进程) | top -H |
-S | 累积模式(显示子进程的CPU时间) | top -S |
-i | 忽略空闲和僵尸进程 | top -i |
-s | 安全模式(禁用交互命令) | top -s |
-o <字段> | 按指定字段排序(如 %CPU ) | top -o %CPU |
二、交互式命令
命令 | 描述 | 示例 |
---|
h / ? | 显示帮助信息 | 在top 界面按 h |
q / Ctrl+C | 退出程序 | 在top 界面按 q |
k | 终止指定进程 | 输入 k → 输入PID → 确认信号(默认SIGKILL) |
r | 调整进程优先级(nice值) | 输入 r → 输入PID → 设置nice值(-20到19) |
s | 修改刷新间隔时间 | 输入 s → 输入新间隔(秒) |
f / F | 添加/删除显示字段 | 按 f → 选择字段(如 VIRT )→ Enter |
o / O | 调整显示字段顺序 | 按 o → 选择字段 → Enter |
l | 切换显示负载和启动时间 | 按 l |
m | 切换显示内存信息 | 按 m |
t | 切换显示CPU状态 | 按 t |
c | 切换显示命令名/完整命令行 | 按 c |
M | 按内存使用排序 | 按 M (大写) |
P | 按CPU使用排序 | 按 P (大写) |
T | 按累计时间排序 | 按 T (大写) |
z | 切换彩色显示 | 按 z |
E | 切换单位(KiB/MiB/GiB等) | 按 E (默认KiB) |
w | 保存当前配置到 ~/.toprc | 按 w |
三、实时监控功能
功能 | 快捷键 | 描述 |
---|
按CPU使用排序 | Shift+P | 显示CPU占用最高的进程 |
按内存使用排序 | Shift+M | 显示内存占用最高的进程 |
按时间排序 | Shift+T | 显示运行时间最长的进程 |
显示树形结构 | Shift+H | 展示进程父子关系 |
清空计数器 | Shift+C | 重置CPU/内存统计 |
按名称过滤进程 | Shift+L | 输入进程名过滤显示 |
四、关键字段解释
字段 | 描述 |
---|
PID | 进程ID |
USER | 进程所有者 |
PR | 优先级 |
NI | nice值(-20到19,值越小优先级越高) |
VIRT | 虚拟内存使用(单位:KB) |
RES | 物理内存使用(单位:KB) |
SHR | 共享内存大小(单位:KB) |
S | 进程状态(R=运行,S=睡眠,Z=僵尸) |
%CPU | CPU使用率 |
%MEM | 内存使用百分比 |
TIME+ | 累计CPU时间(单位:1/100秒) |
COMMAND | 命令名或命令行 |
五、典型使用场景
- 实时监控系统负载
top
- 按内存占用排序
top -o %MEM
- 监控特定进程
top -p 1234
- 批量输出到文件
top -b -n 5 > top_output.txt
- 查看Java进程内存
top -o %MEM -b -n 1 | grep java
六、注意事项
- Load Average:通常不应超过CPU核心数。
- Swap Used:Swap使用过高表示物理内存不足。
- 僵尸进程:
Zombie
进程需排查未处理的子进程。
通过以上分类,可快速定位所需命令和功能。