From: Anton Altaparmakov <aia21@cam.ac.uk>
To: Andrew Morton <akpm@osdl.org>
Cc: axboe@suse.de, AChittenden@bluearc.com, davej@redhat.com,
linux-kernel@vger.kernel.org, lwoodman@redhat.com
Subject: Re: adding swap workarounds oom - was: Re: Out of Memory: Killed process 16498 (java).
Date: Fri, 03 Feb 2006 11:01:44 +0000 [thread overview]
Message-ID: <1138964504.3828.18.camel@imp.csi.cam.ac.uk> (raw)
In-Reply-To: <20060203012607.0a9d6730.akpm@osdl.org>
On Fri, 2006-02-03 at 01:26 -0800, Andrew Morton wrote:
> Anton Altaparmakov <aia21@cam.ac.uk> wrote:
> > On Fri, 2006-01-27 at 14:39 +0000, Anton Altaparmakov wrote:
> > > A colleague has a server (which does backups) that is incapable of doing
> > > a backup due to the backup process being killed due to OOM after
> > > anywhere between 30s and a few minutes of running... And the backup
> > > process is just a simple program that does the equivalent of "dd with
> > > one source but two destinations" where the source is an lvm/dm snapshot
> > > and the two destinations are two different tape drives attached via
> > > scsi. That is pretty critical, admittedly only to us and that system...
> >
> > We found a workaround for the OOM problems on above server yesterday.
> >
> > Add a 1MiB swap file:
> >
> > dd if=/dev/zero of=/var/swapfile bs=1024 count=1024
> > mkswap /var/swapfile
> > swapon /var/swapfile
> >
> > Run backup script and no problems!
> >
> > Note: This is a suse SLES9 system and the problem is not present on
> > kernel kernel-smp-2.6.5-7.193.i586.rpm and all earlier kernels and it is
> > present on kernel-smp-2.6.5-7.201.i586.rpm and all later kernels
> > including the latest kernel (2.6.5-7.244).
> >
> > Seems like a definite VM bug... Interestingly on the .244 kernel the
> > OOM conditions print out a lot of debug information to dmesg about the
> > memory use in the system and AFAICS none of the memory is exhausted! So
> > it seems the system goes OOM without it actually being OOM because it
> > detects that "free swap == 0" or something along those lines...
>
> It does sound like that. Does it still happen if there's 1MB of swap
> online and it's all full?
>
> > Or do we nowadays require swap to be present?
>
> Shouldn't be the case.
>
> > The machine has 6GiB RAM so swap was turned off on it. (In our
> > experience if a machine with a lot of concurrent connections starts
> > swapping the system goes down the drain (it becomes too slow) so swap is
> > not something we want on servers with 40000+ users...)
>
> 1MB of swap isn't likely to cause a lot of swapping.
>
> > If the above is not enough information to find/fix the problem please
> > let me know what more you would like to know...
>
> It'd be nice to see the oom-killer output.
>
> I don't recall a problem like this. I wonder if there are any suse changes
> which might have triggered it.
Yes, I think it is suse. I just diffed /mm of both the above kernels
(.193 and .201) and I think there is a little typo which probably causes
the problem. It is mm/vmscan.c::shrink_zone():
@@ -845,19 +845,38 @@ shrink_zone(struct zone *zone, int max_s
}
atomic_add(scan_active + 1, &zone->nr_scan_active);
- count = atomic_read(&zone->nr_scan_active);
- if (count >= SWAP_CLUSTER_MAX) {
+ nr_active = atomic_read(&zone->nr_scan_active);
+ if (nr_active >= SWAP_CLUSTER_MAX)
atomic_set(&zone->nr_scan_active, 0);
- refill_inactive_zone(zone, count, ps, can_free_mapped);
- }
+ else
+ nr_active = 0;
atomic_add(max_scan, &zone->nr_scan_inactive);
- count = atomic_read(&zone->nr_scan_inactive);
- if (count >= SWAP_CLUSTER_MAX) {
+ nr_inactive = atomic_read(&zone->nr_scan_inactive);
+ if (nr_active >= SWAP_CLUSTER_MAX)
^^^^^^^^^ Should be nr_inactive I think.
Comparing to code in current linux-2.6.git/mm/vmscan.c confirms that it
should be nr_inactive.
atomic_set(&zone->nr_scan_inactive, 0);
- return shrink_cache(zone, gfp_mask, count, total_scanned, can_free_mapped);
+ else
+ nr_inactive = 0;
Jens, given you have an @suse email address, do you want to kick whoever
deals with this in novel/suse so it gets fixed in the next sles9 kernel
update?
Don't know if this fixes our OOM problem but it is a typo in any case.
Best regards,
Anton
--
Anton Altaparmakov <aia21 at cam.ac.uk> (replace at with @)
Unix Support, Computing Service, University of Cambridge, CB2 3QH, UK
Linux NTFS maintainer / IRC: #ntfs on irc.freenode.net
WWW: http://linux-ntfs.sf.net/ & http://www-stu.christs.cam.ac.uk/~aia21/
next prev parent reply other threads:[~2006-02-03 11:02 UTC|newest]
Thread overview: 44+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-01-27 11:53 Andy Chittenden
2006-01-27 14:21 ` Jens Axboe
2006-01-27 14:39 ` Anton Altaparmakov
2006-02-03 9:20 ` adding swap workarounds oom - was: " Anton Altaparmakov
2006-02-03 9:26 ` Andrew Morton
2006-02-03 11:01 ` Anton Altaparmakov [this message]
2006-02-03 13:54 ` Jens Axboe
2006-02-03 13:56 Andy Chittenden
2006-02-03 14:00 ` Jens Axboe
2006-02-22 10:43 Andy Chittenden
2006-02-22 13:34 ` Jens Axboe
2006-02-22 13:35 ` Jens Axboe
2006-02-22 13:38 ` Jens Axboe
2006-02-24 9:33 Andy Chittenden
[not found] <89E85E0168AD994693B574C80EDB9C270393BF0E@uk-email.terastack.bluearc.com>
2006-02-27 14:28 ` Jens Axboe
2006-02-27 14:50 Andy Chittenden
2006-02-27 14:56 ` Jens Axboe
2006-02-27 16:39 Andy Chittenden
2006-02-28 10:10 Andy Chittenden
2006-02-28 10:20 ` Jens Axboe
2006-02-28 10:27 Andy Chittenden
2006-02-28 10:29 ` Jens Axboe
2006-03-01 9:42 Andy Chittenden
2006-03-01 9:55 ` Jens Axboe
2006-03-01 10:47 Andy Chittenden
2006-03-01 12:15 ` Jens Axboe
2006-03-01 12:19 ` Jens Axboe
2006-03-01 12:23 ` Andi Kleen
2006-03-01 12:25 ` Jens Axboe
2006-03-01 13:34 Andy Chittenden
2006-03-01 13:41 ` Jens Axboe
2006-03-01 14:05 ` Andi Kleen
2006-03-01 14:18 ` Jens Axboe
2006-03-01 14:26 ` Andi Kleen
2006-03-01 14:34 ` Jens Axboe
2006-03-01 14:41 ` Andi Kleen
2006-03-01 15:00 ` Jens Axboe
2006-03-01 14:40 Andy Chittenden
[not found] <89E85E0168AD994693B574C80EDB9C270393C141@uk-email.terastack.bluearc.com>
2006-03-01 15:57 ` Jens Axboe
2006-03-02 10:46 Andy Chittenden
2006-03-02 11:10 ` Jens Axboe
2006-03-02 12:21 ` Andi Kleen
2006-03-02 12:26 ` Jens Axboe
2006-03-03 9:16 Andy Chittenden
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1138964504.3828.18.camel@imp.csi.cam.ac.uk \
--to=aia21@cam.ac.uk \
--cc=AChittenden@bluearc.com \
--cc=akpm@osdl.org \
--cc=axboe@suse.de \
--cc=davej@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=lwoodman@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®