top 不支持 -O 选项,正确方式是用 -o 指定初始排序字段(如 top -o %MEM),或运行后通过 P/M/T/N/R/f 键交互式实时排序并自定义显示列。

不能用 top -O 实现自定义字段实时排序。
top 不支持 -O 选项
Linux 中的 top 命令没有 -O(大写 O)这个参数。常见混淆源于:
- -o(小写 o) 是有效选项,但它的作用是启动时指定默认排序字段,不是“开启自定义排序模式”;
- -O(大写 O) 并非标准 top 参数,在绝大多数发行版(包括 CentOS 7/8、Ubuntu、RHEL)中会直接报错或被忽略。
正确使用 -o 指定初始排序字段
可在启动 top 时用 -o 字段名 设置首次显示时的排序依据,例如:
-
top -o %CPU:按 CPU 使用率降序(默认行为); -
top -o %MEM:按内存使用率降序; -
top -o TIME+:按累计 CPU 时间降序; -
top -o PID:按进程 ID 升序(注意:-o 默认升序,加-无效,需进交互界面反转)。
该设置仅影响首次加载顺序,之后仍可按键(如 P、M)动态切换。
真正灵活的实时排序靠交互操作
运行 top 后,无需重启即可随时调整排序:
-
P:按
%CPU降序(高占用在前); -
M:按
%MEM降序; -
T:按
TIME+(运行时间)降序; -
N:按
PID升序; - R(大写):反转当前排序顺序(升↔降);
-
f → 选择字段 → s:将光标所在字段设为新排序依据(最灵活,支持
RES、VIRT、USER等非常规字段)。
想看特定字段?用 f 键自定义列显示
在 top 运行中按 f,进入字段管理界面:
- 用 ↑/↓ 移动光标到想显示的字段(如
PPID、NI、WCHAN); - 按 空格 切换显示/隐藏;
- 按 s 将当前选中字段设为排序键;
- 按 q 退出设置,列表立即按新字段刷新。
这样就能基于任意可见字段(不只是 %CPU、%MEM)做实时排序。


















