top命令往往只会显示部分进程,在不清楚的情况下容易造成误杀,以下为如何筛选出自己想要的进程的详解:

  1. 显示全部进程
    默认情况下,top只会显示一部分进程。要查看全部进程:

方法一:交互模式下显示全部
bash

启动top

top

# 在top交互界面中:
**# 方法1:按 c 显示完整命令行(可以看到更详细的进程信息)

方法2:按 Shift + f,选择要显示的字段

方法3:按 FO 可以添加/移除排序字段**

方法二:启动时指定显示数量
bash

显示所有进程(会占用较多屏幕空间)

top -b -n 1 | head -100 # 显示前100行

或者在top启动后,在交互界面中按数字键设置显示行数

  1. 筛选名为0087的用户的进程
    方法一:启动时直接筛选
    bash

只显示用户0087的进程

top -u 0087
方法二:在top交互界面中筛选
bash

1. 启动top

top

2. 按 u

3. 输入用户名 “0087”

4. 按回车确认

要取消筛选,再按一次 u 然后直接回车

方法三:结合grep筛选输出
bash

如果你想一次性查看并退出,可以使用批处理模式

top -b -n 1 | grep -A 10 “USER.*0087”
3. top常用筛选和显示技巧
按内存排序
bash

启动top后按 Shift + m 按内存使用排序

按CPU排序
bash

启动top后按 Shift + p 按CPU使用排序(默认)

查看特定进程
bash

方法1:启动时筛选

top -p PID1,PID2,PID3

方法2:在top中按 oShift + o 设置过滤器

例如输入:COMMAND=java # 只显示Java进程

显示线程
bash

启动top后按 H(大写)显示线程

或启动时加 -H 参数

top -H

4. htop - 更友好的替代工具

bash

安装htop(如果没有)

sudo apt install htop # Ubuntu/Debian
sudo yum install htop # CentOS/RHEL

使用htop筛选用户

htop -u 0087

在htop中:

F4: 过滤进程(按名称)

F5: 树状显示

F6: 选择排序方式

u: 选择用户

5. 完整示例

bash

示例1:持续监控用户0087的进程

top -u 0087

示例2:一次性查看用户0087的所有进程并保存到文件

top -b -n 1 -u 0087 > top_output.txt

示例3:查看进程树

pstree -p -u 0087

示例4:使用ps命令查看用户0087的进程

ps -u 0087 -f
ps aux | grep -E “^0087”

6. top常用快捷键汇总

快捷键 功能
u → 输入用户名 筛选特定用户进程
k → 输入PID 杀死进程
r → 输入PID → 输入优先级 更改进程优先级
Shift + h 显示/隐藏线程
z 高亮显示运行中的进程
x 高亮排序列
Shift + f 选择显示字段
Space 标记/取消标记进程
c 显示完整命令行
1 显示所有CPU核心
W 保存当前配置

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐