linux – 什么会导致内核out_of_memory错误?

linux – 什么会导致内核out_of_memory错误?,第1张

概述我正在运行Debian GNU / Linux 5.0,我遇到来自内核的间歇性out_of_memory错误.服务器停止响应除ping之外的所有 *** 作,我必须重新启动服务器. # uname -aLinux xxx 2.6.18-164.9.1.el5xen #1 SMP Tue Dec 15 21:31:37 EST 2009 x86_64GNU/Linux 这似乎是来自/ var / log 我正在运行Debian GNU / Linux 5.0,我遇到来自内核的间歇性out_of_memory错误.服务器停止响应除Ping之外的所有 *** 作,我必须重新启动服务器.
# uname -alinux xxx 2.6.18-164.9.1.el5xen #1 SMP Tue Dec 15 21:31:37 EST 2009 x86_64GNU/linux

这似乎是来自/ var / log / messages的重要部分

Dec 28 20:16:25 slarti kernel: Call Trace:Dec 28 20:16:25 slarti kernel: [<ffffffff802bedff>] out_of_memory+0x8b/0x203Dec 28 20:16:25 slarti kernel: [<ffffffff8020f825>] __alloc_pages+0x245/0x2ceDec 28 20:16:25 slarti kernel: [<ffffffff8021377f>] __do_page_cache_readahead+0xc6/0x1abDec 28 20:16:25 slarti kernel: [<ffffffff80214015>] filemap_nopage+0x14c/0x360Dec 28 20:16:25 slarti kernel: [<ffffffff80208ebc>] __handle_mm_fault+0x443/0x1337Dec 28 20:16:25 slarti kernel: [<ffffffff8026766a>] do_page_fault+0xf7b/0x12e0Dec 28 20:16:25 slarti kernel: [<ffffffff8026ef17>] monotonic_clock+0x35/0x7bDec 28 20:16:25 slarti kernel: [<ffffffff80262da3>] thread_return+0x6c/0x113Dec 28 20:16:25 slarti kernel: [<ffffffff8021afef>] remove_vma+0x4c/0x53Dec 28 20:16:25 slarti kernel: [<ffffffff80264901>] _spin_lock_irqsave+0x9/0x14Dec 28 20:16:25 slarti kernel: [<ffffffff8026082b>] error_exit+0x0/0x6e

完整片段:http://pastebin.com/a7eWf7VZ

我想也许服务器实际上内存不足(它有1GB的物理内存),但我的Cacti内存图对我来说还不错……

一位朋友在这里纠正了我;他注意到图形实际上是倒置的,因为紫色表示内存空闲(不是标题所示的内存).

但奇怪的是,在内核崩溃之前不久,加载图就会通过屋顶:

我可以查看哪些日志以获取更多信息?

更新:

也许值得注意的是 – 崩溃时cpu的百分比和网络流量图都是正常的.唯一的异常是平均负荷图.

更新2:

我认为当我部署Passenger / Ruby时会发生这种情况,使用top我发现Ruby使用的是大部分内存和相当数量的cpu:

PID USER      PR  NI  VIRT  RES  SHR S %cpu %MEM    TIME+  COMMAND             5189 www-data  18   0  255m 124m 3388 S    0 12.1  12:46.59 ruby1.8            14087 www-data  16   0  241m 117m 2328 S   21 11.4   3:41.04 ruby1.8            15883 www-data  16   0  239m 115m 2328 S    0 11.3   1:35.61 ruby1.8
解决方法 检查日志消息以获取内核内存杀手的指示,或者在dmesg的输出中被杀死的OOM.这可能会说明哪些进程是OOM杀手的目标.另请查看以下内容:

http://lwn.net/Articles/317814/

http://linux-mm.org/OOM_Killer

这个系统做什么用的?你是在同时耗尽交换吗?根据详细说明崩溃的外部链接,看起来似乎是rsyslogd的问题.这可能是定期重启应用程序的方式.

总结

以上是内存溢出为你收集整理的linux – 什么会导致内核out_of_memory错误?全部内容,希望文章能够帮你解决linux – 什么会导致内核out_of_memory错误?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/1033864.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存