首页/系统/信创系统运维速查/OOM 被杀进程的排查
常见问题65 条

OOM 被杀进程的排查

进程「无故消失」完查 OOM:dmesg 与 messages 中找 Out of memory 记录,看被杀进程与当时内存水位,再定扩容或设应用上限。

信创系统运维速查系统更新于 2026-10-12

确认 OOM

确认 OOM
dmesg -T | grep -iE 'out of memory|oom|killed process' | tail -20
grep -i oom /var/log/messages* 2>/dev/null | tail -20
journalctl -k -b | grep -i oom | tail -20

内存水位与对策

内存水位与对策
free -h
ps aux --sort=-%mem | head -10             # 内存占用排行
sysctl vm.overcommit_memory                # 超分策略
# 长期对策:给服务设内存上限(systemd 或 JVM -Xmx),按容量规划扩内存
不要用重启掩盖问题:完分清是应用增长、并发突增还是配额偏小;加内存前完给应用设上限。

易错点

  • 容器内 OOM 还要看 cgroup 限制:宿主机与容器两层上限都要核对
  • 只扩内存不加应用上限:增长型应用仍会再次触发 OOM

数据来源与参考

  • man 1 dmesg
  • man 5 systemd.resource-control
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌