发布于2026-08-22 阅读(0)
扫一扫,手机访问
使用“ps aux --sort=-%mem | head -n 10”命令,可直接输出内存占用最高的前10个进程,并按照%MEM字段进行降序排列。此命令不依赖交互,也无需安装额外工具。%MEM指的是进程RSS占系统MemTotal的百分比,当精度有限时,建议使用“--sort=-rss”参数。

直接看 ps aux --sort=-%mem | head -n 10 就能拿到当前内存占用最高的前 10 个进程,这是最轻量、最通用、无需额外安装的方案。
ps aux 会默认展示所有用户的全部进程,包括详细的字段信息。--sort=-%mem 这部分的作用是依据 %mem 字段进行降序排列(其中 - 代表降序,而 +%mem 则是升序)。head -n 10 是用来截取前10行的内容。这种组合方式不依赖交互操作,也不会自动刷新,并且其结果可以通过管道进行后续的处理。
%mem 是进程占用物理内存占系统总内存的百分比,计算基于 rss 和 MemTotal,不是虚拟内存(virt)或共享内存(shr)--sort=-rss 更准,尤其当进程数量多、内存总量大时,%mem 可能因精度丢失漏掉中等但绝对值高的进程PID,ps 默认不合并线程内存,如需按进程名聚合,得用 smem 或脚本后处理运行 top 后按 Shift+M(大写 M)即可按 %MEM 降序,但很多人卡在细节上:
%MEM 不一定在视野里 —— 按 f 进入字段管理,用方向键选中 %MEM,按空格启用它,再按 q 返回M 一次是降序,再按一次切换为升序,容易误判 —— 看顶部状态栏是否显示 Mem: sort by %MEM (desc)top 的 RES(即 rss)单位是 KB,但显示时自动缩放(K/M/G),而 %MEM 是实时计算值,受 MemA vailable 影响小,更稳定Ctrl+C,会残留前台进程 —— 务必按 qhtop 界面友好,但不是所有系统预装,且排序逻辑和 top 不同:
F6,再用方向键选 MEM%,回车确认 —— 不是 M 键htop 默认开启“树状视图”,父子进程折叠显示,可能掩盖真实内存大户;按 F5 切换平铺模式更利于横向对比htop(如 CentOS 7 默认源中的 2.0.2)不支持 --sort 命令行参数,只能交互操作;新版(≥3.0)才支持 htop --sort-key MEM% --no-color 直出文本--no-color 参数可规避查排行只是第一步,判断“是否真缺内存”得看 /proc/meminfo 里的 MemA vailable:
free -h 输出的 a vailable 字段就来自这里,它 ≠ free + buff/cache,而是内核估算的、可立即分配给新进程的内存量MemA vailable 远低于总内存 10%,即使 %mem 排行里没看到异常进程,也可能存在大量匿名页或 slab 缓存未回收ps 或 top 看到的高 %mem 进程未必是元凶 —— 得结合 cat /proc/meminfo | grep -E "^(Mem|SReclaimable|Slab)" 看 slab 占用真正难的是区分“单个进程吃内存”和“内核缓存吃内存”,ps 排行只解决前者;后者需要交叉验证 /proc/meminfo 和 slabtop,否则容易误杀服务进程。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
4
5
6
7
8
9