htop中%MEM基于RES计算,反映进程实际物理内存占用占比;RES才是真实驻留内存值,需手动在F2设置中启用显示,并按F6选RES排序以精准定位高内存进程。

htop 默认显示的 %MEM 是进程占用物理内存占系统总内存的百分比,它基于 RES(Resident Set Size) 计算,而 RES 正是进程当前实际驻留在物理内存中的字节数——也就是你关心的“实际内存驻留集合大小”。所以,查看 RES 值就等于查看该进程真实的内存驻留量。
确认 htop 中 RES 列是否可见
htop 启动后默认可能不显示 RES 列(尤其旧版本),需手动添加:
- 按 F2 进入设置界面
- 选择 Columns → Available Columns
- 用方向键找到 RES(单位通常是 KiB),按空格选中,再按 F10 保存
- 返回主界面后,RES 列将稳定显示在每行进程信息中
理解 RES 的含义和关键细节
RES 表示进程当前真正被加载进物理 RAM 的内存页总量,不含已交换出去的部分,也不含未分配或仅映射未访问的虚拟内存。它比 VIRT 更能反映真实内存压力:
- RES 高且持续增长,说明进程在真实吃内存
- RES 接近系统可用内存(
avail Mem)时,容易触发 OOM 或频繁 swap - 注意:RES 包含共享库的私有副本部分,但不重复计算多个进程共用的只读代码段
按 RES 大小排序定位高驻留进程
要快速找出驻留内存最多的进程:
- 启动 htop 后,按 F6 打开排序菜单
- 选择 RES(不是 %MEM),回车确认
- 进程即按驻留内存字节数从高到低排列,顶部即最“占物理内存”的进程
- 也可直接按 M 键(兼容 top 习惯),多数 htop 版本会默认按 RES 排序
对比其他内存指标避免误判
同一进程常同时显示多个内存字段,需区分用途:
- VIRT:虚拟地址空间总大小(含已 swap、未分配、映射文件等),不能反映真实内存占用
- SHR:可被多个进程共享的内存(如共享库),单独看意义有限,但 SHR/RES 比值高说明内存利用较高效
- %MEM:由 RES / 总物理内存 × 100% 得出,便于横向占比判断,但原始数值仍要看 RES


















