Messages in this thread Patch in this message | | | Date | Mon, 30 Apr 2007 00:30:31 -0700 | From | Andrew Morton <> | Subject | Re: 2.6.21 frozen for a few minutes, swapping to disk |
| |
On Sun, 29 Apr 2007 11:28:05 +0100 Miguel Figueiredo <elmig@debianpt.org> wrote:
> Hi all, > > today, with 2.6.21, my laptop had a really odd behaviour. It started > writing to disk for a few minutes with no interactivity at all (no > redraw on screen, only hdd led on). It's the first time i noticed > OOM-killer started do kill programs. > > It was totally unresponsive for minutes, after back to life it had a > load of ~19.0, and 300+ MB on swap (first time i saw this). > > It's an HP pavillon core duo 2.0 GHz, 1 GB RAM > > kern.log details: > http://www.debianpt.org/~elmig/pool/kernel/20070429/kern.log > .config: http://www.debianpt.org/~elmig/pool/kernel/20070429/2.6.21.config > dmesg: http://www.debianpt.org/~elmig/pool/kernel/20070429/dmesg > > As this is the first time it happened and it felt odd i am reporting. > > If aditional info is needed please CC me as i am not on the list. >
hm, a genuine oom on an all-ext3 data=ordered i386 system, just like a million other people. How very weird.
I assume all those pages on the LRU are pagecache pages which for some reason we're unable to reclaim.
If some privileged application went berzerk mlock()ing everything then that might explain it. It sounds improbable, but then, something improbable has happened.
We cleverly managed to not display the pagecache totals in the oom-killer output. Could you please take a copy of /proc/meminfo after an oom-killing, send that? And /proc/vmstat, I guess.
If you're keen, we could eliminate the mlock possibility by adding this:
--- a/mm/mlock.c~a +++ a/mm/mlock.c @@ -127,6 +127,8 @@ asmlinkage long sys_mlock(unsigned long unsigned long lock_limit; int error = -ENOMEM; + return 0; + if (!can_do_mlock()) return -EPERM; @@ -151,6 +153,8 @@ asmlinkage long sys_munlock(unsigned lon { int ret; + return 0; + down_write(¤t->mm->mmap_sem); len = PAGE_ALIGN(len + (start & ~PAGE_MASK)); start &= PAGE_MASK; _ - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |