[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: __alloc_pages: 2-order allocation failed



On Wed, Mar 30, 2005 at 04:25:18PM -0800, David S. Miller said:
> On Wed, 30 Mar 2005 19:01:17 -0500
> Mike Edwards <sauron-debian-sparc@psychology.rutgers.edu> wrote:
> > In any case, I can't recall coming across this issue before, and most
> > of the systems I run have far less memory than this beast.  :)
> > 
> > Is there a way to fix this?
> 
> Try to find out what is asking for such a large allocation.  You
> can do that by applying a patch similar to this one so that the
> debug message prints out more information:

If it helps, the problem almost certainly seemed to be related to
spamassassin (in particular, spamd).  The issue became apparent when
qmail-smtpd quit responding (but caused the kernel to log those errors
when something connected to port 25).  A restart of qmail fixed it for
a minute or two, after which, the issue reappeared.  It looked like
there were a few too many spamc processes, which seemed to indicate an
SA problem.  Restarting SA fixed the issue - it hasn't cropped up again
so far.

I can try the patch if you still feel it'll help - but it does look
like SA was at fault in this particular case.

> 
> ===== mm/page_alloc.c 1.72 vs edited =====
> --- 1.72/mm/page_alloc.c	2004-08-08 01:58:48 -07:00
> +++ edited/mm/page_alloc.c	2005-03-30 16:21:23 -08:00
> @@ -476,6 +476,8 @@
>   out:
>  	printk(KERN_NOTICE "__alloc_pages: %u-order allocation failed (gfp=0x%x/%i)\n",
>  	       order, gfp_mask, !!(current->flags & PF_MEMALLOC));
> +	printk(KERN_NOTICE "__alloc_pages: task(%s) pid(%d) caller(%p)\n",
> +	       current->comm, current->pid, __builtin_return_address(0));
>  	if (unlikely(vm_gfp_debug))
>  		dump_stack();
>  	return NULL;
> 

-- 
Mike Edwards <sauron-debian-sparc@psychology.rutgers.edu>
System Administrator
Psychology Department, Rutgers University, Newark campus



Reply to: