首页/系统/Linux 运维命令速查/场景:定位内存占用大户
进程与作业69 条

场景:定位内存占用大户

内存告警先分清「真占用还是缓存」:free -m 看 available、top 按内存排、pmap 看进程内存构成,OOM 前及时处置。

Linux 运维命令速查系统更新于 2026-10-12
场景内存将满/被 OOM Kill
组合free + top + pmap + ps

快速判断

快速判断
free -m                              # 看 available 而不是 free
 top -b -n1 -o %MEM | head -15
ps -eo pid,pmem,rss,cmd --sort=-rss | head -10

深入进程

深入进程
pmap -X 1234 | tail -3               # 单进程内存构成
cat /proc/1234/smaps_rollup 2>/dev/null | head    # PSS 更准
cat /proc/1234/status | grep -E 'VmRSS|VmSwap'
进程被突然 Kill(exit 137)先查 OOM:dmesg | grep -i 'killed process' 能看到凶手与被杀者。

易错点

  • free 列出的 buff/cache 可回收:available 足够就不算真告急,别乱清缓存
  • swap 使用率高但无换入换出(si/so 为 0)通常无害:动态看 vmstat 的 si/so 再判断

数据来源与参考

  • man 1 free(procps-ng 手册)
  • man 5 proc

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌