On Wed, Jan 09, 2008 at 04:59:45PM -0600, Scott Marlowe wrote:
> On Jan 9, 2008 3:57 PM, Hervé Piedvache <bill.footcow@gmail.com> wrote:
> > Jan 9 20:30:48 db2 kernel: Free swap = 15623168kB
> > Jan 9 20:30:48 db2 kernel: Total swap = 15623172kB
> > Jan 9 20:30:48 db2 kernel: Free swap: 15623168kB
> > Jan 9 20:30:48 db2 kernel: oom-killer: gfp_mask=0x84d0, order=0
> > Jan 9 20:30:48 db2 kernel: Mem-info:
> > Jan 9 20:30:48 db2 kernel: DMA per-cpu:
> > Jan 9 20:30:48 db2 postgres[7634]: [2-1] LOG: background writer process (PID
> > 7639) was terminated by signal 9
>
> This makes no sense to me. The OS is showing that there's
> 16G free swap. Why is it killing things? I'm betting there's some
> bug with too large of a swap resulting in some kind of wrap around or
> something.
At a guess it's this:
Jan 9 20:30:48 db2 kernel: DMA32 free:0kB min:0kB low:0kB high:0kB active:0kB inactive:0kB present:0kB pages_scanned:0
all_unreclaimable?no
Which is why the bgwriter got whacked, it couldn't allocate any memory
for the disk transfer (though why the OOM killer gets invoked here I
don't know). Disabling overcommit won't help you either.
Perhaps a 64-bit architecture? Or a RAID controller that can access
high memory (is this possible?).
Have a nice day,
--
Martijn van Oosterhout <kleptog@svana.org> http://svana.org/kleptog/
> Those who make peaceful revolution impossible will make violent revolution inevitable.
> -- John F Kennedy