命令行输入 top -o %MEM
查询结果:

解析:
Linux top -o %MEM 命令完整数据解释
这条命令作用:按内存使用率从高到低排序,一眼看出谁最吃内存。
先给你每一列精准含义,再教你怎么看、怎么排查问题。
一、先看顶部全局概览区
1. 第一行 系统概况
plaintext
top - 10:20:30 up 12天, 2:15, 2 users, load average: 0.15, 0.20, 0.18
10:20:30:当前系统时间up 12天:服务器开机运行时长2 users:当前登录用户数load average: 0.15, 0.20, 0.181 分钟、5 分钟、15 分钟 CPU 负载
单核服务器:负载 <1 正常;多核看核心数,不超核数都正常。
2. 第二行 任务进程
plaintext
Tasks: 130 total, 1 running, 129 sleeping, 0 stopped, 0 zombie
total:总进程数running:正在运行的进程sleeping:休眠等待的进程(正常)stopped:暂停进程zombie:僵尸进程,不为 0 就是有问题需要处理
3. 第三行 CPU 总体占用
plaintext
%Cpu(s): 1.2 us, 0.5 sy, 0.0 ni, 98.0 id, 0.3 wa, 0.0 hi, 0.0 si, 0.0 st
us:用户进程 CPU(程序本身占用)sy:系统内核 CPUid:空闲 CPU,越大越闲wa:IO 等待,过高说明硬盘 / 磁盘读写瓶颈st:虚拟化偷 CPU,阿里云 / 虚拟机常见,高了说明宿主机抢资源
4. 第四、五行 内存 整体使用
plaintext
MiB Mem : 7856.2 total, 1200.5 free, 4500.3 used, 2155.4 buff/cache
MiB Swap: 8192.0 total, 8192.0 free, 0.0 used. 3000.8 avail Mem
total:总物理内存free:完全空闲内存used:程序实际占用内存buff/cache:系统缓存、文件缓存(可回收)avail Mem:真正还能分给程序的可用内存(看这个最准)Swap:虚拟内存,used 一旦变大,物理内存不够用了,会卡
二、下面进程列表每一列详细解释(重点)
top -o %MEM 就是按 %MEM 降序排列
表格
三、关键 3 个重点字段(你只需要盯这 3 个)
RES
进程真实占用物理内存,看这个才知道谁最耗内存。
%MEM
占整机内存百分比,排序就是按这个来。
比如一个进程占 20.0%,说明吃掉五分之一整机内存。
avail Mem
顶部内存行的可用内存,低于 10% 就要警惕内存爆满、OOM 杀进程。
四、实用操作快捷键(top 界面里直接按)
M:按内存排序(和top -o %MEM一样)P:按 CPU 排序q:退出 top1:展开看每一个 CPU 核心占用k:输入 PID 可以直接杀死进程
五、简单排查口诀
看
avail Mem剩余少 → 内存不够看列表前面
%MEM很高的进程 → 就是它吃内存看
Swap used不为 0 → 物理内存不足,已经在用虚拟内存,服务器会卡wa很高 → 硬盘 IO 瓶颈,不是内存 CPU 问题
评论交流
欢迎留下你的想法