Linux OOM频繁触发_OOM日志排查

胖涛小哥_7884

胖涛小哥_7884

2026-03-25

532人浏览

原创

频繁触发oom killer表明系统持续内存高压,需结合dmesg与系统日志定位时间点、进程pid及cgroup路径,区分全局缺内存或cgroup超限,并用smem、gc日志等分层验证真实内存占用,再通过oom_score_adj等参数合理调控。

linux oom频繁触发_oom日志排查

频繁触发OOM Killer,说明系统持续处于内存高压状态,不是单次偶然事件。重点不是“杀掉了谁”,而是“为什么总不够用”。日志是起点,但必须结合上下文交叉验证。

看日志:先定位时间点和关键进程

执行以下命令快速抓取线索:

  • dmesg -T | grep -i "killed process" —— 带时间戳的原始内核日志,最可靠
  • grep -i "out of memory" /var/log/kern.log(Debian/Ubuntu)或 /var/log/messages(RHEL/CentOS)
  • 注意日志中三类关键信息:时间戳、被杀进程名与PID、所在cgroup路径(如 cgroup=/mm_test)

分清类型:是全局缺内存,还是cgroup超限?

日志里出现 cgroup= 字样,基本可判定是容器或资源组限制导致,而非整机内存耗尽。常见情况包括:

Obsidian (Linux)
Obsidian (Linux)

操作 Obsidian 库(纯 Markdown 笔记),并通过 notesmd-cli 实现自动化。

下载
  • 父cgroup内存设为200MB,子进程虽未超限,但父级已满,OOM Killer仍会杀子进程
  • 共享内存(shm)占用过高,占满cgroup用户态内存配额的30%以上,也会触发OOM
  • NUMA节点隔离:cpuset.mems限定只用某块内存,即使其他节点空闲,该cgroup也会OOM

查进程:别只信free和top的“可用”值

free -h 显示的 available 是估算值,常严重高估真实可用内存。应分层验证:

  • 用 smem -s rss 查实际物理内存占用(RSS),比 top 的 %MEM 更准
  • 对Java进程,加 -XX:+PrintGCDetails -Xloggc:gc.log,用 gceasy.io 分析GC日志,看是否频繁Full GC但内存不降
  • 检查是否存在 DirectByteBuffer 泄漏、静态Map未清理、线程数失控(如Paimon写入开100个bucket线程)

调参数:控制OOM Killer行为,不是禁用它

临时缓解可调整内核参数,但本质是争取排查时间:

  • sysctl -w vm.oom_kill_allocating_task=1:让OOM Killer优先杀当前申请失败的进程,避免误杀长时服务
  • echo -1000 > /proc/PID/oom_score_adj:对关键进程(如数据库、核心API)设为-1000,禁止被杀(需root)
  • 检查 cat /proc/sys/vm/panic_on_oom,确保为0(启用OOM Killer而非直接panic)

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

linux

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
服务器是什么
服务器是什么

服务器是一种计算机硬件设备或软件程序,它具有强大的计算和存储能力,用请求、存储数据和提供服务。它在互联网中着关重要的作用,为用户提供各种服务和资源。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.15

457

5

连接apple id服务器时出错
连接apple id服务器时出错

连接apple id服务器时出错的原因包括网络连接问题、服务器问题、Apple ID账户问题、设备问题、防火墙或安全软件问题、时间和日期设置问题、Apple服务器维护等。本专题为大家提供apple id相关的文章、下载、课程内容,供大家免费下载体验。

2023.09.08

940

5

搭建互联网服务器
搭建互联网服务器

搭建互联网服务器需要:1、选择合适的硬件和操作系统,第一步是选择合适的硬件和操作系统;2、安装和配置操作系统,是搭建互联网服务器的关键步骤;3、安装和配置服务器软件,是搭建互联网服务器的下一步,常见的服务器软件包括Apache、Nginx、Tomcat等;4、配置防火墙和安全性,是搭建互联网服务器的重要步骤;5、域名解析和配置,是搭建互联网服务器的最后一步。

2023.09.19

3012

5

如何查看服务器状态
如何查看服务器状态

查看服务器状态的方法有使用命令行工具、图形界面工具、监控工具、日志文件和远程管理工具等。本专题为大家提供服务器状态相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.09

996

5

服务器域名转接慢怎么解决
服务器域名转接慢怎么解决

服务器域名转接慢的解决办法有DNS优化、服务器优化、CDN加速、前端优化和网络优化等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.17

889

5

服务器评测软件
服务器评测软件

服务器评测软件有PassMark Software、CPU-Z、GPU-Z、CrystalDiskMark、IOmeter、JMeter、LoadRunner、Apache Bench等等。详细介绍:1、PassMark Software是一款综合性的服务器性能测试软件,可以评估服务器在各种负载条件下的性能;2、CPU-Z是一款可以提供服务器CPU详细信息的软件等等。

2023.10.17

454

3

如何开启TFTP服务器
如何开启TFTP服务器

开启TFTP服务器的步骤包括选择TFTP服务器软件、下载和安装软件、配置TFTP服务器以及启动和测试服务器等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.18

2736

4

服务器负载不兼容怎么解决
服务器负载不兼容怎么解决

解决方法:1、增加服务器资源;2、负载均衡;3、优化应用程序;4、增加缓存机制;5、分布式架构;6、限流和熔断;7、自动化扩容。想知道更详细服务器负载不兼容的解决方法,可以访问本专题下面的文章。

2023.10.20

5112

4

宽带如何接入服务器
宽带如何接入服务器

宽带接入服务器的方法有ADSL宽带接入服务器、光纤接入服务器、无线接入服务器和以太网接入服务器等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.20

807

5

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Python uv官方安装与入门文档
Python uv官方安装与入门文档

共0课时 | 0人学习

Buffalo框架快速入门指南
Buffalo框架快速入门指南

共0课时 | 0人学习

Valgrind支持平台说明
Valgrind支持平台说明

共0课时 | 0人学习