建站知识

云服务器内存不足怎么办?OOM排查与治本思路

2026-10-28 213 次阅读

服务隔三差五自动重启,日志里又没有报错,罪魁祸首常常是内存耗尽:Linux 的 OOM 机制会在内存见底时"牺牲"最占内存的进程来保住系统,你的数据库往往就是那个牺牲品。

先学会正确看内存

执行 free -h,重点看 available 这一列,它才是真正可用的内存。buff/cache 那部分看着占用大,其实是随时可以让出来的缓存,不用慌。

确认是不是 OOM 干的

查内核日志:dmesg | grep -i oom,出现 Out of memory: Killed process 字样就是实锤,被杀的进程名也会写明。

治本三板斧

  • 找吃内存的进程:top 按 M 键排序,通常是数据库或 Java 应用
  • 调配置:数据库缓存、JVM 堆上限按实际内存收紧,别让默认配置吃光整台机器
  • 小内存机加 swap 做缓冲,长期吃紧就升配

一句话总结:available 长期低于两成就是危险信号,别等到 OOM 开始杀进程才动手。

标签

  • 内存不足
  • OOM
  • 内存优化