From: Dave Hansen <dave@linux.vnet.ibm.com>
To: Jeff Chua <jeff.chua.linux@gmail.com>
Cc: Linux Kernel <linux-kernel@vger.kernel.org>,
Linus Torvalds <torvalds@linux-foundation.org>,
Andrew Morton <akpm@linux-foundation.org>,
Hugh Dickins <hugh@veritas.com>
Subject: Re: 2.6.32-rc3: low mem - only 378MB on x86_32 with 64GB. Why?
Date: Mon, 05 Oct 2009 12:15:43 -0700 [thread overview]
Message-ID: <1254770143.8175.1213.camel@nimitz> (raw)
In-Reply-To: <Pine.LNX.4.64.0910052334480.17655@boston.corp.fedex.com>
On Mon, 2009-10-05 at 23:57 +0800, Jeff Chua wrote:
> # with 64GB
> total used free shared buffers cached
> Mem: 63995 524 63470 0 4 365
> Low: 378 32 345
> High: 63616 492 63124
> -/+ buffers/cache: 154 63840
> Swap: 28003 0 28003
>
>
> Question is ... is there anyway to increase "low mem" without resorting to
> migrating to 64bit? (Look... it only has 378MB total low mem vs 850MB on
> the 4GB system). I've oracle installed on the 64GB system and it keeps
> getting OOMs!
Heh. You've really squeezed yourself into a bad situation. Go get a
64-bit kernel... please. You should be able to run 32-bit userspace
with a 64-bit kernel. Do you have some 32-bit kernel component that you
are relying on?
The kernel has a structure called 'struct page'. We allocate one of
those for each 4k page of physical memory on x86. But, each 'struct
page' is/was 32-bytes (is it still??). That means that on a 64GB
system, you've used at *least* 512MB of your 896MB of lowmem before
you're even out of early boot. That's just one structure.
The practical options are to use a different VMSPLIT or to use the RHEL
4/4 kernel. The VMSPLIT option is in mainline and it will let chop up
the user/kernel virtual address boundary in different ways. Looking at
arch/x86/Kconfig it doesn't look like mainline's code works with PAE.
It's theoretically possible, but not very practical. I think I hacked
up a custom kernel for a customer to do this once a long time ago, but
it was painful.
The RHEL 4/4 kernel is a big fat hack. I think they called it "hugemem"
or something. It gives the kernel (and userspace) ~4GB of of vaddr
space each, but costs you some extra context switch time. It lived in
-mm for a while and never made it to mainline.
I see it mentioned here:
http://www.redhat.com/rhel/previous_versions/rhel3/
and I don't know if it was continued in other RHEL releases.
You can get around the 896MB limit, but it's painful. You'll almost
certainly need a hacked kernel.
-- Dave
next prev parent reply other threads:[~2009-10-05 19:16 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-10-05 15:57 2.6.32-rc3: low mem - only 378MB on x86_32 with 64GB. Why? Jeff Chua
2009-10-05 18:12 ` Linus Torvalds
[not found] ` <b6a2187b0910051715y4ee63503y148ba2d7e24cad8e@mail.gmail.com>
2009-10-06 0:30 ` Linus Torvalds
2009-10-06 10:06 ` Tvrtko Ursulin
2009-10-06 11:01 ` Frans Pop
2009-10-14 21:32 ` Lennart Sorensen
2009-10-06 12:59 ` David Woodhouse
2009-10-06 14:26 ` Linus Torvalds
2009-10-11 9:08 ` Benjamin Herrenschmidt
[not found] ` <b6a2187b0910052312o662642b2teded3d19548b9151@mail.gmail.com>
2009-10-06 14:35 ` Linus Torvalds
[not found] ` <b6a2187b0910080926x303d3c9em8f70632fb19b6509@mail.gmail.com>
2009-10-08 16:35 ` Dave Hansen
[not found] ` <b6a2187b0910090928r648169dax86178a3e8b8c2f21@mail.gmail.com>
2009-10-10 18:10 ` Valdis.Kletnieks
2009-10-10 18:37 ` Linus Torvalds
2009-10-11 9:06 ` Benjamin Herrenschmidt
2009-10-11 17:34 ` Linus Torvalds
2009-10-06 16:50 ` Yuhong Bao
2009-10-05 18:42 ` Byron Stanoszek
2009-10-05 19:15 ` Dave Hansen [this message]
-- strict thread matches above, loose matches on Subject: below --
2009-10-05 19:42 Tomasz Chmielewski
2009-10-05 20:31 ` Valdis.Kletnieks
[not found] <drYiu-Pj-15@gated-at.bofh.it>
2009-10-05 20:05 ` Daniel J Blueman
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=1254770143.8175.1213.camel@nimitz \
--to=dave@linux.vnet.ibm.com \
--cc=akpm@linux-foundation.org \
--cc=hugh@veritas.com \
--cc=jeff.chua.linux@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=torvalds@linux-foundation.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.