🧠 0、为什么要查内存使用情况?
当你的服务器开始变卡、内存报警,或者页面响应变慢时,大概率是某些进程正在疯狂占用内存。这时候,你需要快速排查:到底是谁在吃内存?
✅ 1、使用 ps
命令查看内存占用排行
这是最直接、最简洁的一条命令:
ps aux --sort=-%mem | head -n 15
它会列出当前内存占用最高的前 15 个进程。
关键字段解释:
字段 | 含义 |
---|---|
PID | 进程PID |
%CPU | 占用CPU的百分比 |
%MEM | 占用的系统内存百分比 |
RSS | 实际使用的物理内存(单位 KB) |
COMMAND | 进程/程序名称 |
适合场景:
- 快速判断当前“内存大户”
- 适合搭配
grep
做关键字筛查 - 输出静态,适合一次性分析
✅ 2、使用 top
命令动态查看内存
top
是 Linux 自带的系统监控工具,启动后可以实时查看进程的资源使用情况。
使用方式:
- 运行:
top
- 在界面中按下:
Shift + M
(大写 M)来按内存使用排序q
退出
你可以看到实时内存使用情况和每个进程的 %MEM
、RES
(常驻内存)等信息。
小技巧:切换单位为 MB 显示
在top
界面按下E
(大写 E),可以将内存单位从 KiB 切换为 MiB,更易阅读。
按W
可以将当前显示配置保存为默认。
🧰 3、找到内存占用高的程序后
- 判断是否是你主动部署的服务,比如
uwsgi
、mysql
、libretranslate
- 如果是你不再使用的服务或测试用进程,考虑关闭或 kill 掉
- 如果是后台安全组件(如阿里云盾),评估是否可以停用节省资源