最直接有效的方式是使用top或htop实时监控进程资源占用,其中top默认按CPU降序排列,支持M(内存)、P(CPU)、1(多核)等快捷键排序,htop则提供彩色界面、鼠标操作和进程树视图;配合ps+watch可实现定时快照,辅以free、mpstat、/proc/meminfo诊断系统整体健康度。

最直接有效的方式是使用 top 或其增强版 htop,它们能实时刷新、交互排序,并清晰显示每个进程的 CPU 和内存占用率。
用 top 实时查看并排序
在终端运行:
top
启动后默认按 CPU 占用率降序排列。关键操作如下:
- M 键:按内存占用率(%MEM)从高到低排序
- P 键:按 CPU 占用率(%CPU)从高到低排序
- 1 键:显示每个 CPU 核心的使用率(多核系统适用)
- q 键:退出
重点关注列:PID、USER、%CPU、%MEM、RES(实际物理内存,单位 KiB)、COMMAND。RES 比 %MEM 更反映真实内存开销,尤其适合对比进程间绝对用量。
用 htop 获取更友好体验
若系统未预装,可先安装:
sudo apt install htop # Debian/Ubuntu
sudo yum install htop # CentOS/RHEL
运行 htop 后优势明显:
- 彩色界面,进程树视图可选
- 鼠标支持滚动和点击排序(如点击 %MEM 列标题)
- 方向键选择进程,F9 可直接 kill,F10 退出
- 底部快捷菜单直观,无需记快捷键
按需聚焦单个进程或前 N 名
如果已知目标进程名(如 nginx、java),可用:
top -p $(pgrep -f "nginx")
查看内存占用最高的 10 个进程:
ps aux --sort=-%mem | head -n 11
查看 CPU 占用最高的 10 个进程:
ps aux --sort=-%cpu | head -n 11
注意:ps 是快照命令,不自动刷新;如需持续观察,可结合 watch:
watch -n 2 'ps aux --sort=-%mem | head -n 11'
每 2 秒刷新一次内存 Top10。
补充:快速看整体内存与 CPU 健康度
配合使用以下命令建立全局感知:
- free -h:看总内存、可用内存(avail Mem)、Swap 是否被大量使用
- mpstat 1 3:每秒采样,输出 3 次 CPU 各维度统计(us/sy/id/wa 等)
- cat /proc/meminfo | grep -E "MemAvailable|MemFree":获取精确可用内存值
当 %MEM 长期接近 100% 或 avail Mem 持续低于 5%,就需进一步排查进程行为或内存泄漏。











