outofmemoryerror

如何读取 oom-killer 系统日志消息?
outofmemoryerror

如何读取 oom-killer 系统日志消息?

我有一台 Ubuntu 12.04 服务器,它有时会完全死机 - 没有 SSH,没有 ping,什么都没有,直到它物理重启。 重启后,我在系统日志中看到 oom-killer 几乎杀死了所有东西。 其中有很多详细的内存使用信息。我如何阅读这些日志来查看导致 OOM 问题的原因?服务器的内存远远超过其需要的内存,因此它不应该耗尽内存。 Oct 25 07:28:04 nldedip4k031 kernel: [87946.529511] oom_kill_process: 9 callbacks suppressed Oct 25 07:28:04 n...

Admin

Tomcat 7 中缺少 OutOfMemory 异常
outofmemoryerror

Tomcat 7 中缺少 OutOfMemory 异常

这是一个奇怪的问题。我是一名系统管理员,几年来我一直在维护多个 Tomcat 实例。我们一直在 Tomcat 5、5.5、6 和现在的 7 中运行我们的 Web 应用程序。 我已安装监控程序来监视日志文件。如果发生 OutOfMemory 异常,监控程序将发送电子邮件警报并最终重新启动 Tomcat。这对于 Tomcat 5、5.5 和 6 非常有效。升级到 Tomcat 7 后,我不再看到因堆空间而导致的异常。Java 不会抛出异常,而是占用 100% 的 CPU,同时无休止地执行垃圾收集。我曾看到过 OOM permgen 异常,监控脚本正常工作。...

Admin

如果堆大小低于最大值,JVM(Oracle)是否会出现 OutOfMemory 错误?
outofmemoryerror

如果堆大小低于最大值,JVM(Oracle)是否会出现 OutOfMemory 错误?

我正在运行一个 Tomcat 站点(带有 NGinx 前端),尽管最大堆大小相当大,但似乎会随机耗尽内存。我的问题是,即使堆大小明显小于 -Xmx,JVM 是否也有可能出现 OutOfMemory 错误?例如,这是我在 OutOfMemory 错误发生前 15 秒拍摄的快照: 2012 年 12 月 18 日星期二 23:13:28 JST 可用内存:162.31 MB 总内存:727.75 MB 最大内存:3808.00 MB 我猜理论上我的代码可能在 15 秒内生成了 3 GB 的对象,但我对此非常怀疑。似乎 JVM 无法增加堆,尽管理论上堆有空间…...

Admin

我的 tomcat 服务器上已提交的内存
outofmemoryerror

我的 tomcat 服务器上已提交的内存

我在服务器上配置 JVM 时遇到问题。该服务器是一台在 AWS 上运行的机器,具有 8G RAM 和 8 个 CPU。服务器上只有带有 solr 的 tomcat6。 实际上我已经像这样配置了JVM: JAVA_OPTS="-Djava.awt.headless=true -D64 -server -Xms4096M -Xmx4096M -XX:+UseConcMarkSweepGC" 但是当流量增长太多时,我就会收到错误。我猜问题出在commited memory但我不明白为什么要保留超过 4G 的内存。 如果有人可以帮助我正确配置我的 JV...

Admin

配备 8 GB RAM 的 RedHat 6 VM - 谁使用内存?
outofmemoryerror

配备 8 GB RAM 的 RedHat 6 VM - 谁使用内存?

可能重复: 为什么 Red Hat Linux 报告的系统可用内存少于实际可用内存? 重新启动虚拟机后,“top”显示 8 GB RAM 中约有 0.5 GB 正在使用。然后我们运行一些安装代码。安装程序完成并终止所有子进程后,“top”仍显示约有 5 GB 正在使用,例如 内存:总计 8062088k,已用 5021456k,可用 3040632k,缓冲区 187892k 后来,在运行已安装的软件时,即使启动小型 Java 程序也会遇到 OutOfMemoryErrors。将 VM ...

Admin

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

有大量可用交换内存的 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

当内存使用量达到 30% 时,OOM 会终止程序
outofmemoryerror

当内存使用量达到 30% 时,OOM 会终止程序

我对这个有点抓狂:我经常遇到由于 OOM 而被内核杀死的进程。我看到 free 报告 14 GB 中已使用 14 GB,但当我将所有进程的 RSS 加在一起时,我得到的是 ~3-4 GB。此外,当 OOM 被触发并提供当前内存空间的组成时,我发现将所有 RSS 页面加在一起,我得到的是 398 万中的 120 万。交换已禁用。 如果不是通过使用 RSS...OOM 终止我的进程的原因可能是什么? ...

Admin

我将 Debian 10 升级到 Debian 11,然后又升级到 Debian 12。为什么以前使用的命令现在显示内存不足?
outofmemoryerror

我将 Debian 10 升级到 Debian 11,然后又升级到 Debian 12。为什么以前使用的命令现在显示内存不足?

我将两个仅用于邮件和 DNS 的低端 vps 系统从 Debian 10 升级到 Debian 11,然后升级到 Debian 12。两个系统在升级过程中都没有问题。我有一个 cron,用于将 vmail 文件夹从一台服务器 rsync 到另一台服务器,以防我需要快速热备用。升级后,相同的 rysnc 命令会发送垃圾邮件 rsync: [sender] readlink_stat("/home/vmail/folder/filename) failed: Cannot allocate memory (12) 然后就退出了。在这次升级之前,它已经运行了好几...

Admin

AWS EC2 实例在运行 NodeJs 应用程序时内存不足,由于日志抑制而无法确定根本原因
outofmemoryerror

AWS EC2 实例在运行 NodeJs 应用程序时内存不足,由于日志抑制而无法确定根本原因

正如标题所述,我们在 AWS 上的 EC2 实例上运行了一个 NodeJS 应用程序,该应用程序偶尔会耗尽内存并终止进程。 从业务角度来看,这并不是什么障碍,因为冗余系统可以确保另一个实例启动并通过负载平衡器提供。但我们仍然想找出导致实例内存耗尽的原因,以便我们能够完全阻止这种情况的发生。 我们查看了与终止进程有关的日志,试图找出发生了什么,但由于没有可用内存,操作系统似乎无法在那段时间内写入任何日志。终止进程后,它会记录它已抑制了一些日志,然后继续正常运作。因此,我们假设日志抑制阻止我们获取有关问题实际原因的更多信息。 我们已经尝试关闭日志抑制,但在进程无...

Admin

Almalinux 9 分配内存失败
outofmemoryerror

Almalinux 9 分配内存失败

我在装有 Almalinux 9 OS 的 AWS EC2 实例 r6i.4xlarge 中部署了 SingleStore DB CLI(Cluster in a Box)。通过管道加载数据时出现以下错误: line 34: ER_MEMSQL_OOM (1712), Leaf Error (127.0.0.1:3307): The operating system failed to allocate memory (MemSQL memory use 18658.88 Mb). The request was not processed. See htt...

Admin

Linux:cuda(pytorch)没有分配可用的vram
outofmemoryerror

Linux:cuda(pytorch)没有分配可用的vram

我正在尝试 pixray/clipit,但 cuda 无法分配我显卡剩余的 1GiB。我的显卡是“Nvidia GTX 1660 super”,它的 RAM 大小与我认识的人的“Nvidia GTX 1660 Ti”相同 - 而且它在那里运行良好,不过可能使用 Windows。 我的系统是64位的Linux Manjaro-Desktop2 5.15.60-1-MANJARO #1 SMP PREEMPT Thu Aug 11 13:14:05 UTC 2022 x86_64 GNU/Linux。 CUDA: 为什么即使有 1GiB 可用 vram,Py...

Admin

oom_reaper:MongoDb 内存不足
outofmemoryerror

oom_reaper:MongoDb 内存不足

我们在三台裸机服务器(无虚拟化,无 docker/kubernetes)上运行一个小型 mongodb 副本集,使用 Debian 11 和 mongodb 5.0.6: 机器A:128GB RAM,1TB 磁盘,主机器B:128GB RAM,1TB 磁盘,次机器C:8GB RAM,20GB 磁盘,仲裁器 突然间,我们遇到了中断,应用程序日志中出现了“NotWritablePrimary”/“MongoNotPrimaryException”等错误 - 我们假设我们的连接字符串可以确保不会发生中断: mongodb://machineA:27017,mach...

Admin

什么正在使用(内核)内存?
outofmemoryerror

什么正在使用(内核)内存?

我知道有关内存使用的此类问题已被问过多次,但不幸的是似乎没有一个能回答我们当前的问题。 我们目前正在运行AWS EC2 实例规格如下:t3.medium 实例和4GB 内存和操作系统:Debian GNU/Linux 9.5 (延伸)使用内核:4.9.0-7-amd64。 问题是,在服务器上没有任何应用程序负载的情况下,内存使用量稳步增加,同时应用程序内存使用量保持稳定和内核内存使用量增加. 但是这个内核内存使用情况与不同诊断工具的输出不一致。我们需要找到正在使用内核内存的东西。 这里有 2 个图表,第 1 个显示应用程序总内存如何保持稳定,第 2 个带有缩...

Admin

为什么 Varnish 尽管有瞬时和 malloc 限制,但仍然会耗尽所有内存?
outofmemoryerror

为什么 Varnish 尽管有瞬时和 malloc 限制,但仍然会耗尽所有内存?

我使用 Varnish 在 Apache2 网络服务器前缓存静态文件。它混合了小文件(CSS/JS/图像)和大文件(从 200 MB 到 2 GB)。 我已将守护进程中的临时存储和 malloc 存储分别限制为 8/12 GB: ExecStart=/usr/sbin/varnishd -j unix,user=vcache -F -a :8000,PROXY -T localhost:6082 -f /etc/varnish/default.vcl -S /etc/varnish/secret -s malloc,12G -s Transient=mall...

Admin

Windows Server 上的页面文件和内存不足问题
outofmemoryerror

Windows Server 上的页面文件和内存不足问题

我们有一台 Windows Server 计算机,它有 160GB 的物理内存,运行在用于数据分析的主机上。大多数分析不会占用太多内存,但有时某些用户会触发超出物理内存的查询。结果,系统变得无响应,远程连接中断。 理想情况下,我们希望这个应用程序被终止。如果我没记错的话,在 Windows 系统上不应该出现内存过量分配的情况。因此,我假设当这些事件发生时,Windows 会疯狂地交换,变得没有响应,远程连接也会中断。我的问题是: 如果我们禁用页面文件,这是否意味着当应用程序请求过多内存时,它会出现某种内存不足错误并可能导致死亡。 如果程序占用的内存达到极限...

Admin