oom-killer

使用 atop 排除 oom-killer 故障:它是否已修复?
oom-killer

使用 atop 排除 oom-killer 故障:它是否已修复?

我有一套 Debian 系统,内存为 4GB,交换空间为 2GB,有 2 个 CPU。我遇到了许多与 oom-killer 有关的系统故障。前一分钟系统还运行良好,下一分钟就无法运行,控制台上出现大量 oom-killer 消息。我已经两次添加了 1GB 的 RAM。 5 让我感到困惑的是,我使用 xymon 监控系统,但事先没有收到任何警告。我有 CPU、网络和内存利用率的图表,但我没有看到任何表明存在问题的“峰值”。我会发布它们,但目前没有足够的声誉。 我发现6。我还通过 vmcom 和 vmlim 看到了一条红线。我将/proc/sys/vm/o...

Admin

为什么 OOM killer 没有捕获明显行为不当的进程?
oom-killer

为什么 OOM killer 没有捕获明显行为不当的进程?

在 CentOS 7(使用 3.10 内核)服务器上,我惊讶地发现 mysqld 进程被“oom 终止”。原因很明显,我有时会运行一个非常耗内存的进程(WebTorrent),有时会发展成一个令人厌恶的进程(看起来像内存泄漏)。我对此没有意见,只要在发生这种情况时将其终止即可。在另一个系统(Debian 11)上,这是实际行为,但在较旧的 CentOS 7 上,其他进程被终止,我不明白为什么不终止最明显的进程? 来自日志(仅选定的行): Apr 20 09:12:57 vps001 kernel: mysqld invoked oom-killer: gfp...

Admin

有大量可用交换内存的 Linux OOM
oom-killer

有大量可用交换内存的 Linux OOM

我的服务器会因为内存不足而定期终止 MariaDB。问题是,有大量的交换内存可用,并且交换量设置为 100。无论如何,从内核转储来看,没有任何迹象表明存在任何类型的大量内存使用。MariaDB 在 Docker 容器内运行。这里可能发生了什么?我该如何进一步调试? 注意:我从下面的转储中删除了大多数进程。MariaDB 是迄今为止消耗内存最多的进程。 kernel: [9484097.392673] Purging GPU memory, 0 pages freed, 0 pages still pinned, 1 pages left available....

Admin

调整 OOM Killer 的日志记录级别
oom-killer

调整 OOM Killer 的日志记录级别

有没有办法配置 Linux,使得 OOM 终止程序仅报告/发布被终止的进程,但不转储整个机器状态? 我之所以问这个问题,是因为在我们的生产系统中,我们的一些客户运行他们的工作负载。一些进程的 OOM 终止会导致日志文件膨胀 - 因此导致操作系统磁盘上出现大量 IO,并且系统变得不稳定且难以交互。 我们花了很多时间在谷歌上搜索这个问题,但我们主要发现如何调整进程的 OOM 分数(进程的优先级),但没有找到如何调整 OOM 杀手的日志记录级别。 谢谢你的时间! ...

Admin

OOM Killer 终止使用率为 60% 的进程
oom-killer

OOM Killer 终止使用率为 60% 的进程

每当我的主机使用率达到 60% 时,OOM killer 就会启动并杀死具有最高 oom 分数的进程之一。 但是,主机上的内存只达到 60%!为什么这么早就启动了?它始终如一,每次总使用量达到 60% 时都会终止一个进程。 我的主机上没有交换。我需要更改某种配置吗? ...

Admin

在 Java 线程上触发 OOM killer 日志时进行解释
oom-killer

在 Java 线程上触发 OOM killer 日志时进行解释

当 Linux OOM Killer 中断某个进程时,内核日志通常会提供有关罪魁祸首内存消耗的足够信息(即使它最终没有被杀死)。例如,当snmpd进程成为 OOM 触发器时,可以通过以下方式在日志中稍后找到其内存状态PID=1190: Jul 18 02:21:26 inm-agg kernel: snmpd invoked oom-killer: gfp_mask=0x100cca(GFP_HIGHUSER_MOVABLE), order=0, oom_score_adj=0 Jul 18 02:21:26 inm-agg kernel: CPU: 3 P...

Admin

Linux 服务器在发生 OOM 事件后失去网络连接
oom-killer

Linux 服务器在发生 OOM 事件后失去网络连接

我们有一台运行 Linux 5.15 的服务器,并且我们已多次验证过这样的情况:某个进程被 OOM 杀死,导致整个系统在网络上无法访问,无论是入站流量还是出站流量。这是该事件的最新系统日志跟踪: Mar 8 05:16:01 ip-10-110-10-133 kernel: [203986.004138] amazon-cloudwat invoked oom-killer: gfp_mask=0x1100cca(GFP_HIGHUSER_MOVABLE), order=0, oom_score_adj=0 Mar 8 05:16:02 ip-10-11...

Admin

内存不足与系统报告不匹配
oom-killer

内存不足与系统报告不匹配

Oct 25 07:41:32 KVM-BOX kernel: memory: usage 255216608kB, limit 255216640kB, failcnt 28058 [root@KVM-BOX ~]# free -hm total used free shared buff/cache available Mem: 282G 203G 78G 173M 955M 78G Sw...

Admin

CPU 限制对 docker run Java(tomcat)应用程序有何影响?
oom-killer

CPU 限制对 docker run Java(tomcat)应用程序有何影响?

我在 AWS 上的 ECS(弹性容器服务)中托管的 Docker 容器(在本文中我将其称为“任务”)中运行 Tomcat Java Web 应用程序时一直遇到问题。 我们注意到该任务的 CPU 使用率攀升至 97%(使用 AWS 指标),虽然它有时会自行回升到较低的 CPU 使用率,但该任务通常会关闭。 幸运的是,ECS 会生成一个新的 Docker 任务并重新启动该应用程序(尽管一切恢复在线需要 5-10 分钟,这在我们的生产日中是一段很长的时间!) 我们没有对 ECS 任务配置任何上限(也许我们应该有?)——在之前的项目中,我们将 ECS 主机上的 CP...

Admin

内存和交换空间充足,但内存不足
oom-killer

内存和交换空间充足,但内存不足

我有一个基于 Debian 的系统,内存不足,但似乎有足够的可用内存。该盒子将运行大约 6-12 天,然后它将开始终止分配内存的任何程序(通常是分配skbs)。最终,它会杀死 Xorg 并退化为看门狗重启,然后该盒子将再运行 6-12 天,然后才会出现相同的故障。 以下是 oom-killer 日志: [521652.462829] Xorg invoked oom-killer: gfp_mask=0x400cc0(GFP_KERNEL_ACCOUNT), order=0, oom_score_adj=0 [521652.462841] CPU: 1 PI...

Admin

RHEL 8. 调用 Linux OOM killer 来终止 postgres 进程
oom-killer

RHEL 8. 调用 Linux OOM killer 来终止 postgres 进程

每当在 postgres 进程上调用 OOM killer 时,数据库就会进入恢复模式。 与该问题相关的 /var/log/messages 输出 oom-kill:constraint=CONSTRAINT_NONE、nodemask=(null)、cpuset=/、mems_allowed=0、global_oom、task_memcg=/user.slice/user-0.slice/session-137004.scope、task=postgres、pid=4193383、uid=1001 3 月 25 日 15:55:21 内核:内存不足:已终止...

Admin

如何在运行单个 WordPress 站点的服务器上追踪 mysql 内存问题?
oom-killer

如何在运行单个 WordPress 站点的服务器上追踪 mysql 内存问题?

我遇到了一个奇怪的问题。每周有几次,我在 Amazon Lightsail 上运行的网站会崩溃并成为 IO 限制(发生这种情况时我通常无法使用 ssh),并且服务器内存不足。这是一个流量不大的网站,每天的页面浏览量不到 1000 次,并且它位于 varnish 服务器后面。我无法运行命令top来查看问题,因为服务器成为 IO 限制。我认为它是由于内存不足而导致的抖动。服务器有 2GB 的 RAM,我认为应该足够了。发生这种情况时,网站负载并不重。它只是有点出乎意料。我今天能够捕获它并运行top,看到 CPU 负载平均值在 30 到 40 之间。这些情况可能会...

Admin

mysqld 几乎每小时崩溃一次 - mysqld 调用 oom-killer
oom-killer

mysqld 几乎每小时崩溃一次 - mysqld 调用 oom-killer

我在 centOS digital ocean droplet 上运行 wordpress 我的 mysql 几乎每小时都会崩溃一次——出现内存不足错误 手动重启 mysqld 可以通过 sudo service mysqld restart 来恢复 有谁知道这可能是什么原因造成的? 以下是崩溃时的配置和日志: /etc/my.cnf [mysqld] max_connections = 50 wait_timeout = 3600 interactive_timeout = 3600 open_files_l...

Admin

监控被 oomkiller (kubernetes) 终止的 apache 工作进程
oom-killer

监控被 oomkiller (kubernetes) 终止的 apache 工作进程

我有一个基于的docker容器php:7.2-apache-stretch在 kubernetes/rancher 中运行。当前的 k8s 内存限制过低,因此当工作进程被 oomkill 时,用户会收到错误和截断的页面。由于 httpd 父进程没有被终止,我的容器不会死机或重新启动,我会看到日志。当这些进程被终止时,我很惊讶在容器的 stdout/stderr 中看不到任何日志。 在将内存限制提高到更合理的值之前,我希望了解如何围绕这种情况构建日志记录/警报。 是否有针对这些内存事件进行监控/警报的标准/最佳实践? 我考虑过但还无法弄清楚的潜在选择: 配置...

Admin

Slab SReclaimable内存不能回收吗?
oom-killer

Slab SReclaimable内存不能回收吗?

CentOS Linux 版本 7.2.1511(核心) Linux 版本 3.10.0-514.26.2.el7.x86_64 ([电子邮件保护]) (gcc 版本 4.8.5 20150623 (Red Hat 4.8.5-11) (GCC) ) #1 SMP TueJul 4 15:04:05 UTC 2017 /proc/meminfo: MemTotal: 16267428 kB MemFree: 237816 kB MemAvailable: 7501712 kB Buffers: 1...

Admin