首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏蓝天

    LINUX内存高,触发OOM-KILLER问题解决

    最近遇到两起Linux的内存问题,其一是触发了oom-killer导致系统挂 1. 内核使用low memory来跟踪所有的内存分配,这样的话一个16GB内存的系统比一个4GB内存的系统,需要消耗更多的low memory,当low memory耗尽,即便系统仍然有剩余内存,仍然会触发oom-killer

    2.9K20发布于 2018-08-07
  • 来自专栏码农架构

    Spring Boot 如何通过JVM 调优,预防触发OOM-Killer机制

    导读:手上有一个测试服务器,内存是8G,最近开始搭起微服务的软件架构,单个Spring Boot 服务内存占用有点大,比如一个RocketMq的消费者服务(单独运行的服务),启动占用了 500M 内存,导致我后面想运行其他服务,内存不够,触发了 Linux 的 OOM - Killer 机制

    1.5K20发布于 2021-10-12
  • 来自专栏杨建荣的学习笔记

    MongoDB触发oom-killer的简单处理(一)(r7笔记第54天)

    然后又看到了熟悉的oom-killer,又是out of memory,又是swap不足了。 Dec 21 11:09:07 template-mongodb-2-6-3 kernel: [31458594.279409] mongod invoked oom-killer: gfp_mask=

    2.1K30发布于 2018-03-16
  • 来自专栏蓝天

    linux out of memory分析(OOM)

    在很多情况下,经常会看到还有剩余内存时,oom-killer依旧把进程杀死了,现象是在/var/log/messages日志文件中有如下信息:     Out of Memory: Killed process 当low memory耗尽,不管high memory剩多少,oom-killer都会杀死进程,以保持系统的正常运行。      查看当前的oom-killer的状态:cat /proc/sys/vm/oom-kill        关闭/打开oom-killer:        echo "0" > /proc/sys/vm/oom-kill > /proc/sys/vm/oom-kill        或者直接加到/etc/sysctl.conf文件,内容如下:        vm.oom-kill = 0        此时,当进程被oom-killer log/messages文件中,信息如下:        "Would have oom-killed but /proc/sys/vm/oom-kill is disabled"     5、或者不把oom-killer

    9.4K20发布于 2019-03-14
  • 来自专栏杨建荣的学习笔记

    远程协助解决异常宕库的问题(r11笔记第75天)

    通过启动日志看到,SGA的设置不高,服务器配置比较低,所以资源使用也比较紧张,至于宕库原因很可能是因为内存资源不足导致的,如果没猜错就是oom-killer的情况。 所以我让这位朋友去看看系统日志的情况,是否存在oom-killer的情况,没过多久,看到反馈的截图,证明了第一步猜测是正确的了,确实是oom-killer导致的。 ? buffers Swap: 4128760k total, 3872660k used, 256100k free, 5414088k cached 但是8G的内存分配了2G的SGA也不至于导致oom-killer

    1K40发布于 2018-03-21
  • 来自专栏青梅煮码

    MySQL OOM 故障应如何下手

    此篇文章叙述个人的一些拙见~ 先介绍下这位朋友:OOM-killer OOM Killer(Out of Memory Killer) 是当系统内存严重不足时 linux 内核采用的杀掉进程,释放内存的机制 简单来讲,oom-killer 的原则就是损失最小、收益最大,因此它会让杀死的进程数尽可能小、释放的内存尽可能大。 在数据库服务器上,MySQL 被分配的内存一般不会小,因此容易成为 oom-killer 选择的对象。 “既然发生了 OOM,那必然是内存不足,内存不足这个问题产生原因很多。 另一个可以想到的原因就是一般部署 MySQL 的服务器,都会部署很多的监控和定时任务脚本,而这些脚本往往缺少必要的内存限制,导致在高峰期的时候占用大量的内存,导致触发 Linux 的 oom-killer 结果可想而知,这个实例在运行中经常被 oom-killer 杀死,想必原因之一即是因为一开始 MySQL 自身的内存规划欠妥。

    1.7K10编辑于 2023-03-13
  • 来自专栏爱可生开源社区

    故障分析 | MySQL OOM 故障应如何下手

    简单来讲,oom-killer 的原则就是损失最小、收益最大,因此它会让杀死的进程数尽可能小、释放的内存尽可能大。 在数据库服务器上,MySQL 被分配的内存一般不会小,因此容易成为 oom-killer 选择的对象。 “既然发生了 OOM,那必然是内存不足,内存不足这个问题产生原因很多。 另一个可以想到的原因就是一般部署 MySQL 的服务器,都会部署很多的监控和定时任务脚本,而这些脚本往往缺少必要的内存限制,导致在高峰期的时候占用大量的内存,导致触发 Linux 的 oom-killer 结果可想而知,这个实例在运行中经常被 oom-killer 杀死,想必原因之一即是因为一开始 MySQL 自身的内存规划欠妥。 调整 oom_score_adj 参数(/proc/<pid>/oom_score_adj),将 MySQL 被 oom-killer 锁定的优先级降低。这个参数值越小,越不容易被锁定。 3.

    2.3K20发布于 2020-04-27
  • 来自专栏丑胖侠

    以太坊geth同步自动关闭问题分析

    引起此异常的主要原因是内存吃紧,导致oom-killer被触发。oom-killer会杀掉占用内存较高的进程,以确保系统不至于崩溃。

    2.2K110发布于 2017-12-29
  • 来自专栏杨建荣的学习笔记

    关于几个MySQL环境问题的对比 (r7笔记第66天)

    不过所幸开始查看日志,发现原来是 oom-killer导致, 这个和剩余内存少密切相关,当然也和swap相关。 场景8:那么接着导入30g的dump,是否依旧成功呢,遗憾的是这次还是失败了, 因为发生了oom-killer,对应的线程被终止了,swap彻底释放,swap使用量一下子重置为5M了。 场景11:过了几天之后我再次查看,发现swap已经自动重置了,而重置的原因还是oom-killer,看来应该是有个连接被强制终止之后,触发了oom-killer,然后swap彻底释放。

    96060发布于 2018-03-16
  • 来自专栏DBA随笔

    TiDB OOM问题 学习笔记(纯干货)

    之后可能会出现Lost Connection to MySQL Server during query 1.2 通过日志分析 dmesg -T | grep tidb-server 查看系统日志,在日志中可以发现OOM-Killer 2.1 日志 dmesg -T | grep tikv-server 系统日志中的OOM-killer日志 tikv.log 宕机前后时间的Welcome to TIKV日志,也就意味着tikv重启了

    1.6K20编辑于 2022-01-25
  • 来自专栏前端导学

    mysql优化笔记

    mysql -u root –p或者mysql -uroot –p 快速诊断 top 判断主机负载情况 dmesg | tail 是否存在oom-killer或tcp drop等错误信息 vmstat

    56030发布于 2019-05-28
  • 如何避免僵尸进程

    子进程 正常结束 或 被 OOM-killer 杀死(SIGKILL 9)。 父进程 未调用wait/waitpid 或 未注册SIGCHLD 处理器。 子进程变成僵尸,PID 仍挂在进程表。

    14010编辑于 2026-03-25
  • 来自专栏业余草

    记一次生产服务器进程突然消失问题排查!

    Killed process 9682, UID 27, (mysqld) total-vm:47388kB, anon-rss:3744kB, file-rss:80kB httpd invoked oom-killer 为了保护重要进程不被 oom-killer 掉,我们可以:echo -17 > /proc//oom_adj。其中的数字 -17 表示禁用 OOM。

    2.8K20发布于 2020-09-22
  • 来自专栏阶梯计划

    了解Linux的cgroup

    这个文件里面包含了一个控制是否为当前cgroup启动OOM-killer的标识。 如果写0到这个文件,将启动OOM-killer,当内核无法给进程分配足够的内存时,将会直接kill掉该进程;如果写1到这个文件,表示不启动OOM-killer,当内核无法给进程分配足够的内存时,将会暂停该进程直到有空余的内存之后再继续运行

    2.3K11编辑于 2024-11-12
  • 来自专栏Nodejs技术栈

    【译】容器环境下 Node.js 的内存管理

    因此,现在修改后的期望是,如果实际堆大小(驻留对象大小)超过OOM-KILLER阈值(--memory容器中的标志),则容器终止应用程序。 实际上,这也可能不会发生。 当我在容器受限的环境下分析内存密集型Node.js应用程序时,我看到两种情况: OOM-KILLER在heapTotal和heapUsed的值都高于容器限制之后,隔一段很长的时间才执行。 OOM-KILLER根本没有执行。 容器环境中的Node.js相关行为解释 监控容器中运行应用程序的重要指标是驻留集大小(RSS-resident set size)。

    2.4K10发布于 2019-10-14
  • 来自专栏开发三两事

    记录一次应用被突然kill掉的问题定位经历

    通过应用日志并未查到有任何异样,代码也走查了好几遍; 3、通过dmesg | grep java查看内核日志信息,发现了问题所在,如下: [16949523.941194] java invoked oom-killer

    2.7K80发布于 2021-07-07
  • 来自专栏开发三两事

    记录一次java应用突然挂掉的问题定位

    通过应用日志并未查到有任何异样,代码也走查了好几遍; 3、通过dmesg | grep java查看内核日志信息,发现了问题所在,如下: [16949523.941194] java invoked oom-killer

    1.4K31编辑于 2023-03-31
  • 来自专栏爱可生开源社区

    故障分析 | MySQL 耗尽主机内存一例分析

    查看操作系统日志,进一步验证了 MySQL 耗尽主机内存,触发 OOM : # grep oom-killer /var/log/messages* /var/log/messages-20220605 :May 30 02:31:30 vm10-136-9-24 kernel: mysqld invoked oom-killer: gfp_mask=0x201da, order=0, oom_score_adj

    1.5K51编辑于 2022-07-05
  • 来自专栏程序猿成长计划

    Linux必知必会-理解内存使用统计命令free

    可用内存(free+buffers/cache)过低,接近于0的时候 交换分区内存占用swap used增加或者有波动 dmesg | grep oom-killer显示有OutOfMemory-killer

    1.2K30发布于 2019-02-27
  • 来自专栏MySQL修行 | 老叶茶馆

    MySQL中MGR中SECONDARY节点磁盘满,导致mysqld进程被OOM Killed

    full时刻开始,大约过了2.5小时,mysqld进程内存消耗持续上升,最终引发oom kill Sep 18 12:56:28 mgr3 kernel: docker-containe invoked oom-killer 14638256 /usr/local/mysql-8.0.26-linux-glibc2.12-x86_64/bin/mysqld --defaults-file=/data/MySQL/my.cnf OS层oom-killer

    1.2K20发布于 2021-10-12
领券