Linux中用top命令筛选特定进程有交互式操作和启动参数两种方式:启动时用top -u username按用户筛选,运行中按u键输入用户名;按o键输入COMMAND=关键词模糊匹配进程名,按M/P/T键分别按内存/CPU/运行时间排序,按c显示完整命令行,H显示线程级信息。

Linux中用top命令筛选特定进程,核心是掌握交互式操作和启动参数两种方式。不需要写脚本或额外工具,几秒内就能定位目标进程。
按用户名筛选进程
最常用的是查看某个用户的全部进程:
- 启动时直接指定:
top -u username,比如top -u www-data - 运行中筛选:启动
top后按u键,输入用户名并回车 - 取消筛选:再按一次
u,直接回车即可恢复显示所有进程
按进程名或命令关键词筛选
适合快速找 nginx、java、python 等特定服务:
Linux 安全审计工具,检查 SSH 配置、开放/监听端口、防火墙规则(ufw/iptables/nftables)、失败登录尝试、sudoers 权限...
- 运行
top后按o(小写o),输入过滤表达式,例如:COMMAND=nginx或COMMAND=java - 支持模糊匹配,
COMMAND=py会匹配 python、pyenv 等 - 也可用数值条件,如
%CPU>5.0只显示 CPU 占用超 5% 的进程 - 清空所有过滤器:按
=(等号)键
按资源占用排序定位“大户”
筛选常配合排序使用,更快识别异常进程:
- 按内存降序:
M(大写M),一眼看出谁吃内存最多 - 按 CPU 降序:
P(默认就是这个顺序) - 按运行时间降序:
T,查长期驻留的可疑进程 - 反转当前排序:
R,比如想看内存占用最低的几个进程
其他实用技巧
提升可读性和排查效率:
- 显示完整命令行:
c键,避免 COMMAND 列被截断,看清具体启动参数 - 显示线程级信息:
H键,对多线程应用(如 Java)排查更细粒度 - 临时加字段:按
f进入字段管理界面,用空格勾选/取消列(如 UID、TIME+、NI) - 批处理模式导出:如需保存快照,用
top -b -n 1 | head -50截取前50行










