当前位置:首页>Linux>Linux命令每日一清单016:top--系统监控命令速查表

Linux命令每日一清单016:top--系统监控命令速查表

  • 2026-09-02 19:48:02
Linux命令每日一清单016:top--系统监控命令速查表

top是Linux系统中最经典的实时系统监控工具,它提供了一个动态更新的视图,显示正在运行的进程、CPU负载、内存使用情况等关键系统指标。作为系统管理员的第一道防线,top能够快速定位资源占用过高的进程,监控系统健康状态,识别性能瓶颈。

top的界面分为上下两部分:上方的摘要区域显示系统整体状态(负载、CPU、内存),下方的进程列表区域显示每个进程的详细信息。top支持丰富的交互式命令,可以实时排序、过滤、调整进程优先级,甚至直接终止进程。掌握top是Linux性能调优和故障排查的必备技能。

1. 启动选项

命令说明
top
使用默认设置启动top
top -d 5
设置刷新间隔为5秒
top -n 3
更新3次后自动退出
top -u zhangsan
只显示指定用户的进程
top -p 1234,5678
监控指定的PID
top -b
批处理模式(用于脚本和日志记录)
top -b -n 1
打印一次快照后退出
top -H
显示线程而非进程
top -o %CPU
启动时按CPU使用率排序

2. 交互式导航

top运行时可用按键命令:

按键说明
q
退出top
h
 或 ?
显示帮助屏幕
Space
立即刷新显示
d
 或 s
更改刷新间隔(秒)
k
终止进程(提示输入PID和信号)
r
修改进程优先级(renice)
u
按用户名过滤进程
n
 或 #
设置显示的进程数量
W
将当前设置保存到 ~/.toprc
Y
查看进程的额外信息

3. 排序方式

按键说明
P
按CPU使用率排序(默认)
M
按内存使用率排序
N
按PID排序
T
按累计CPU时间排序
R
反转当前排序顺序
<
 或 >
将排序列向左/向右移动
F
 或 O
打开字段管理,选择排序列
X
高亮显示当前排序列

4. 显示切换

按键说明
l
切换负载平均值行的显示
t
循环切换CPU显示模式(进度条/文本/关闭)
m
循环切换内存显示模式(进度条/文本/关闭)
1
切换每个CPU核心的单独显示
H
切换线程视图(显示线程而非进程)
c
切换命令名/完整命令行
V
切换树形视图(显示进程父子关系)
x
高亮显示当前排序列
y
高亮显示正在运行的进程
z
切换彩色输出
b
在彩色模式下切换粗体
J
调整对齐方式(左/右/居中)

5. 过滤与搜索

按键说明
u
仅显示指定用户的进程
U
按有效用户或实际用户显示
o
 或 O
添加过滤器(如 COMMAND=nginx 或 %CPU>5.0)
Ctrl+O
显示当前活动的过滤器
=
清除当前窗口的所有过滤器
L
在显示中搜索字符串
&
查找下一个匹配项
'
切换过滤器的高亮显示

6. 摘要区域字段说明

字段说明
load average
1、5、15分钟的系统平均负载
us
用户空间占用的CPU时间
sy
内核空间占用的CPU时间
ni
调整过优先级(nice)的进程占用的CPU时间
id
CPU空闲时间
wa
等待I/O完成的时间
hi
硬件中断处理时间
si
软件中断处理时间
st
被虚拟机管理程序偷走的CPU时间
MiB Mem
物理内存总量、空闲、已用、缓冲/缓存
MiB Swap
交换分区总量、空闲、已用、可用内存

7. 进程列表字段说明

字段说明
PID
进程ID
USER
进程所有者
PR
优先级
NI
nice值(负值=高优先级,正值=低优先级)
VIRT
虚拟内存使用量
RES
常驻物理内存使用量
SHR
共享内存大小
S
进程状态(R=运行,S=睡眠,Z=僵尸,D=不可中断)
%CPU
CPU使用率
%MEM
内存使用率
TIME+
累计CPU时间
COMMAND
命令名/命令行

8. 批处理模式

用于脚本和日志记录:

命令说明
top -b -n 1
打印一次快照到标准输出
top -b -n 5 -d 2 > top.log
记录5次快照,间隔2秒
top -b -n 1 -o %MEM
按内存排序的单次快照
top -b -n 1 -u www-data
指定用户的进程快照
top -b -n 1 -p 1234
指定PID的进程快照
top -b -n 1 | grep "Cpu(s)"
提取CPU使用率信息

9. 实用组合模式

命令/操作说明
top -u zhangsan -o %MEM
监控指定用户,按内存排序
top -p $(pgrep -d',' nginx)
监控所有nginx进程
top -b -n 1 | awk '/load average/ {print $12}'
提取负载平均值
while true; do top -b -n 1 | head -20 >> top.log; sleep 5; done
持续采样监控
top -H -p 1234
查看指定进程的所有线程

10. 常用选项速查

选项完整名称说明
-d
--delay
设置刷新延迟(秒)
-n
--iterations
设置更新次数
-b
--batch
批处理模式
-u
--user
显示指定用户的进程
-p
--pid
监控指定PID
-H
--threads
显示线程
-o
--sort-override
启动时指定排序列
-w
--width
输出宽度(批处理模式)

11. 故障排查

问题解决方法
CPU显示总和不为100%
使用1键查看每个CPU核心的单独使用情况
找不到特定进程
使用u按用户名过滤;或使用L搜索命令名
进程列表滚动太快
增加刷新间隔:按s然后输入更大的秒数
top命令不可用
安装procps包:apt install procps或yum install procps
批处理输出格式混乱
使用-w指定输出宽度:top -b -n 1 -w 512
想终止进程但无效
尝试kill -9信号:按k,输入PID,信号输入9
内存显示与实际不符
注意available内存包括可回收的缓冲/缓存

温馨提示: top是动态监控工具,适合短期观察。对于长期性能分析,建议结合htop(更友好的交互界面)、atop(更详细的系统记录)或nmon(性能数据收集)使用。在排查性能问题时,建议先按P看CPU占用,再按M看内存占用,快速定位资源消耗最大的进程。使用u过滤特定用户,可以隔离应用进程。

本文PDF格式下载:

  关注公众号(haopython),请回复: LLTTOP

最新文章

随机文章