为什么OOM杀手在这里打

我们有一些虚拟机在xen 4.0.3下运行内核2.26.26-2,具有不同的CPU和RAM数量,有些虚拟机看到几乎随机的OOM事件,每个事件导致虚拟机不可用。 输出如下,我有以下问题:

  1. 这里有什么_cpu_down做的? 我在所有受影响的机器上看到这一点是共同的,但他们都不应该在我看来这样(属于我认为的cpu-hotplug系统)
  2. 有没有人在内存打印输出中看到令人毛骨悚然的东西? 有这个问题的每台机器上,HighMem和Normal的可用值几乎相同。
  3. 我是对的,如果我读了HighMem free:496kB min:512kB low:9336kB线HighMem free:496kB min:512kB low:9336kB作为OOM的来源,因为它的free价值降到min以下?
  4. 有关如何追踪问题的任何build议? 我监视所有机器上的内存使用情况,但是在OOM时间周围没有显示可用内存下降(监视器间隔为5分钟,所以我可能缺less令人兴奋的部分)。
 Jul 9 14:01:36 www23 kernel: [990735.330526] php-cgi invoked oom-killer: gfp_mask=0x1201d2, order=0, oomkilladj=0 Jul 9 14:01:42 www23 kernel: [990735.330544] Pid: 7749, comm: php-cgi Not tainted 2.6.26-2-xen-686 #1 Jul 9 14:04:20 www23 kernel: [990735.330555] [<c0150df2>] oom_kill_process+0x4f/0x1bb Jul 9 14:04:20 www23 kernel: [990735.330571] [<c0125134>] __capable+0x8/0x1b Jul 9 14:04:58 www23 kernel: [990735.330582] [<c0151293>] out_of_memory+0x14e/0x17f Jul 9 14:04:58 www23 kernel: [990735.330591] [<c01532e1>] __alloc_pages_internal+0x2b8/0x34e Jul 9 14:04:58 www23 kernel: [990735.330603] [<c0153383>] __alloc_pages+0x7/0x9 Jul 9 14:04:58 www23 kernel: [990735.330617] [<c0154e7c>] __do_page_cache_readahead+0x86/0x163 Jul 9 14:04:58 www23 kernel: [990735.330631] [<c01552ae>] do_page_cache_readahead+0x3d/0x47 Jul 9 14:04:58 www23 kernel: [990735.330646] [<c0150692>] filemap_fault+0x164/0x35a Jul 9 14:04:58 www23 kernel: [990735.330658] [<c015a5a5>] __do_fault+0x43/0x4c9 Jul 9 14:04:58 www23 kernel: [990735.330677] [<c015ec3b>] handle_mm_fault+0x63c/0xda5 Jul 9 14:04:58 www23 kernel: [990735.330688] [<c01e0aaf>] rb_erase+0x176/0x22f Jul 9 14:04:58 www23 kernel: [990735.330702] [<c010eaf3>] do_page_fault+0x605/0xb2e Jul 9 14:04:58 www23 kernel: [990735.330712] [<c023de5f>] evtchn_do_upcall+0xfa/0x191 Jul 9 14:04:58 www23 kernel: [990735.330725] [<c010e4ee>] do_page_fault+0x0/0xb2e Jul 9 14:04:58 www23 kernel: [990735.330736] [<c02cc9c5>] error_code+0x35/0x3c Jul 9 14:04:58 www23 kernel: [990735.330752] [<c02c0000>] _cpu_down+0x50/0x20a Jul 9 14:04:58 www23 kernel: [990735.330762] ======================= Jul 9 14:04:58 www23 kernel: [990735.330771] Mem-info: Jul 9 14:04:58 www23 kernel: [990735.330776] DMA per-cpu: Jul 9 14:04:58 www23 kernel: [990735.330781] CPU 0: hi: 0, btch: 1 usd: 0 Jul 9 14:04:58 www23 kernel: [990735.330788] CPU 1: hi: 0, btch: 1 usd: 0 Jul 9 14:04:58 www23 kernel: [990735.330798] CPU 2: hi: 0, btch: 1 usd: 0 Jul 9 14:04:58 www23 kernel: [990735.330805] CPU 3: hi: 0, btch: 1 usd: 0 Jul 9 14:04:58 www23 kernel: [990735.330811] CPU 4: hi: 0, btch: 1 usd: 0 Jul 9 14:04:58 www23 kernel: [990735.330822] CPU 5: hi: 0, btch: 1 usd: 0 Jul 9 14:04:58 www23 kernel: [990735.330827] CPU 6: hi: 0, btch: 1 usd: 0 Jul 9 14:04:58 www23 kernel: [990735.330833] CPU 7: hi: 0, btch: 1 usd: 0 Jul 9 14:04:58 www23 kernel: [990735.330840] Normal per-cpu: Jul 9 14:04:58 www23 kernel: [990735.330849] CPU 0: hi: 186, btch: 31 usd: 168 Jul 9 14:04:58 www23 kernel: [990735.330857] CPU 1: hi: 186, btch: 31 usd: 157 Jul 9 14:04:58 www23 kernel: [990735.330865] CPU 2: hi: 186, btch: 31 usd: 170 Jul 9 14:04:58 www23 kernel: [990735.330876] CPU 3: hi: 186, btch: 31 usd: 180 Jul 9 14:04:58 www23 kernel: [990735.330882] CPU 4: hi: 186, btch: 31 usd: 181 Jul 9 14:04:58 www23 kernel: [990735.330887] CPU 5: hi: 186, btch: 31 usd: 177 Jul 9 14:04:58 www23 kernel: [990735.330897] CPU 6: hi: 186, btch: 31 usd: 182 Jul 9 14:04:58 www23 kernel: [990735.330905] CPU 7: hi: 186, btch: 31 usd: 163 Jul 9 14:04:58 www23 kernel: [990735.330912] HighMem per-cpu: Jul 9 14:04:58 www23 kernel: [990735.330917] CPU 0: hi: 186, btch: 31 usd: 18 Jul 9 14:04:58 www23 kernel: [990735.330925] CPU 1: hi: 186, btch: 31 usd: 159 Jul 9 14:04:58 www23 kernel: [990735.330930] CPU 2: hi: 186, btch: 31 usd: 110 Jul 9 14:04:58 www23 kernel: [990735.330938] CPU 3: hi: 186, btch: 31 usd: 92 Jul 9 14:04:58 www23 kernel: [990735.330945] CPU 4: hi: 186, btch: 31 usd: 66 Jul 9 14:04:58 www23 kernel: [990735.330951] CPU 5: hi: 186, btch: 31 usd: 137 Jul 9 14:04:58 www23 kernel: [990735.330959] CPU 6: hi: 186, btch: 31 usd: 165 Jul 9 14:04:58 www23 kernel: [990735.330970] CPU 7: hi: 186, btch: 31 usd: 134 Jul 9 14:04:58 www23 kernel: [990735.330979] Active:1895504 inactive:10287 dirty:0 writeback:0 unstable:0 Jul 9 14:04:58 www23 kernel: [990735.330981] free:61788 slab:67983 mapped:13 pagetables:0 bounce:0 Jul 9 14:04:58 www23 kernel: [990735.330998] DMA free:6152kB min:72kB low:88kB high:108kB active:0kB inactive:0kB present:16256kB pages_scanned:0 all_unreclaimable? yes Jul 9 14:04:58 www23 kernel: [990735.331008] lowmem_reserve[]: 0 706 8120 8120 Jul 9 14:04:58 www23 kernel: [990735.331028] Normal free:240504kB min:3364kB low:4204kB high:5044kB active:28964kB inactive:476kB present:723392kB pages_scanned:57291 all_unreclaimable? yes Jul 9 14:04:58 www23 kernel: [990735.331044] lowmem_reserve[]: 0 0 59309 59309 Jul 9 14:04:58 www23 kernel: [990735.331060] HighMem free:496kB min:512kB low:9336kB high:18164kB active:7553052kB inactive:40672kB present:7591552kB pages_scanned:13757719 all_unreclaimable? yes Jul 9 14:04:58 www23 kernel: [990735.331076] lowmem_reserve[]: 0 0 0 0 Jul 9 14:04:58 www23 kernel: [990735.331094] DMA: 126*4kB 44*8kB 47*16kB 42*32kB 8*64kB 1*128kB 0*256kB 1*512kB 0*1024kB 1*2048kB 0*4096kB = 6152kB Jul 9 14:04:58 www23 kernel: [990735.331133] Normal: 41282*4kB 8957*8kB 62*16kB 1*32kB 2*64kB 2*128kB 0*256kB 1*512kB 0*1024kB 1*2048kB 0*4096kB = 240752kB Jul 9 14:04:58 www23 kernel: [990735.331169] HighMem: 90*4kB 3*8kB 7*16kB 0*32kB 0*64kB 0*128kB 0*256kB 0*512kB 0*1024kB 0*2048kB 0*4096kB = 496kB Jul 9 14:04:58 www23 kernel: [990735.331204] 18015 total pagecache pages Jul 9 14:04:58 www23 kernel: [990735.331211] Swap cache: add 0, delete 0, find 0/0 Jul 9 14:04:58 www23 kernel: [990735.331221] Free swap = 0kB Jul 9 14:04:58 www23 kernel: [990735.331225] Total swap = 0kB Jul 9 14:04:58 www23 kernel: [990735.358501] 2099200 pages of RAM Jul 9 14:04:58 www23 kernel: [990735.358514] 1912832 pages of HIGHMEM Jul 9 14:04:58 www23 kernel: [990735.358519] 19870 reserved pages Jul 9 14:04:58 www23 kernel: [990735.358523] 6341777 pages shared Jul 9 14:04:58 www23 kernel: [990735.358527] 0 pages swap cached Jul 9 14:04:58 www23 kernel: [990735.358531] 0 pages dirty Jul 9 14:04:58 www23 kernel: [990735.358535] 0 pages writeback Jul 9 14:04:58 www23 kernel: [990735.358539] 13 pages mapped Jul 9 14:04:58 www23 kernel: [990735.358542] 67983 pages slab Jul 9 14:04:58 www23 kernel: [990735.358553] 0 pages pagetables Jul 9 14:04:58 www23 kernel: [990735.358558] Out of memory: kill process 1493 (httpd) score 42880 or a child Jul 9 14:04:58 www23 kernel: [990735.358629] Killed process 8099 (httpd) 

正如你所看到的机器是一个networking服务器,在正常情况下,它是meminfo显示这样的事情:

 MemTotal: 8388804 kB MemFree: 666696 kB Buffers: 49352 kB Cached: 5589884 kB SwapCached: 14368 kB Active: 2106596 kB Inactive: 5127116 kB HighTotal: 7646976 kB HighFree: 455376 kB LowTotal: 741828 kB LowFree: 211320 kB SwapTotal: 1048568 kB SwapFree: 1024244 kB Dirty: 496 kB Writeback: 0 kB AnonPages: 1580456 kB Mapped: 13340 kB Slab: 367520 kB SReclaimable: 343680 kB SUnreclaim: 23840 kB PageTables: 0 kB NFS_Unstable: 0 kB Bounce: 0 kB WritebackTmp: 0 kB CommitLimit: 9437372 kB Committed_AS: 9499972 kB VmallocTotal: 114680 kB VmallocUsed: 5180 kB VmallocChunk: 106596 kB 

系统是Debian,内核是2.6.26-2-xen-686。 任何想法都欢迎。

我最近遇到这个问题,当试图与我们的networking工具生成多个PDF文件。 对于我们来说,答案是通过在/etc/php.ini文件中更改此设置来为PHP提供更多内存:

memory_limit = 128M

您可能需要退后一步,考虑您的PHP请求/作业正在执行什么操作来评估内存限制应设置为多高。

为了跟踪它,我会查看apache的访问/错误日志,看看在7月9日14时01分36秒之前有什么请求。 任何错误,警告或长时间的服务器请求都可能表明您的Web应用程序的哪一部分可能正在使用PHP允许的内存限制。

_cpu_down()更改当前任务的关联,然后在最后恢复它; 如果我没有记错,我的谷歌是certificate是正确的。

因此,这似乎是一个红鲱鱼,只不过是被称为oom_killer的清理任务。

php-cgi invoked oom-killer:这个cgi进程是内存被限制的吗? 有没有在代码中调用ini_set()来提高内存限制?

我还会看看使用诸如https://github.com/Oneiroi/apachebuddy.pl之类的工具提供给apache的线程数量,以估计可能的内存使用总量&#x3002;

根据提供的信息,我认为你的问题要么是所有消耗跑步PHP进程,要么许多PHP进程被允许产生,从而过度利用可用内存。