htop可实时显示内存和Swap占用,顶部有彩色进度条;安装后运行htop,按F6选MEM%排序查高耗进程,F2勾选SWAP列并排序可识别换出进程,配合vmstat观察si/so值判断Swap活跃度。

直接运行 htop 就能看到内存和 Swap 的实时占用,界面顶部有直观的彩色进度条,比 free -h 更动态、比 top 更清晰。
启动与基础查看
多数 Linux 发行版默认不预装 htop,需先安装:
- Ubuntu/Debian:
sudo apt install htop - RHEL/CentOS 8+:
sudo dnf install htop - CentOS 7:
sudo yum install htop
安装后输入 htop 启动。界面上方会立即显示三栏关键信息:
- CPU:各核心使用率(颜色区分任务类型)
- Memory:物理内存已用/总用量(绿色为实际使用,蓝色为 buffer,黄色为 cache)
- Swap:交换分区已用/总用量(若为 0.0,说明未启用或未触发换出)
按内存排序定位高耗进程
进程列表默认不按内存排序,需手动切换:
- 启动 htop 后,按 F6 打开排序字段菜单
- 用方向键选中 MEM%,回车确认
- 此时进程按物理内存占用百分比从高到低排列
重点关注 RES(常驻内存 KB)和 MEM% 列,它们反映真实物理内存消耗;VIRT 包含 Swap 和映射空间,不能单独用于判断内存压力。
识别 Swap 活跃进程(换出行为)
仅看 MEM% 无法发现哪些进程已被换出。要查 Swap 实际参与度,需结合以下方法:
- 在 htop 中按 F2 → 进入 Display options → 勾选 SWAP 列(若未显示)
- 再按 F6 排序字段,选择 SWAP 降序,观察哪些进程占用了较多 Swap 空间
- 同时参考 VIRT 与 RES 差值:若 VIRT 显著大于 RES(例如 VIRT=2G,RES=200M),说明该进程大量内存已换出至 Swap
辅助验证 Swap 使用趋势
htop 本身不提供历史速率,但可配合命令确认 Swap 是否正在频繁读写:
- 新开终端执行:
vmstat 1 5 - 观察输出中 si(swap in,单位 KB/s)和 so(swap out)两列
- 若持续 > 100 KB/s,说明系统正频繁换入换出,存在内存不足风险
此时应优先检查 htop 中 SWAP 和 MEM% 都偏高的进程,而非只盯着 RES 最大的那个。


















