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

Re: 32-bit vs AMD64 on Opteron for LAMP server



On 07/06/07 10:40:11PM -0500, Neil Gunton wrote:
> Adam Stiles wrote:
> >You won't be able to use all of your 4GB RAM with a 32-bit kernel.  A 
> >32-bit processor only has 4GB of addressing space, and that has to be 
> >shared between memory and peripherals.
> 
> Really? I thought that the only limitation was on individual processes 
> not having more than 4GB available, but the entire system as a whole 
> could address a lot more than that. But I could be wrong.
> 

For 32-bit systems only if the kernel is compiled with CONFIG_HIGHMEM64G
enabled so you need one of the "bigmem" kernels. And the BIOS on the machine
has to support remapping the lost memory above the 4G mark, if it won't do
that for you there's nothing you can do to get access to that memory.

The per-process limit will be 3G since 4G is the max addressable and 1G of
that space is reserved for the kernel. And part of the 3G will be used for
the binary itself, shared libraries, mmap'd files, etc so you'll never even
get the full 3G out of a single process.

I'm not sure if this was mentioned but another option would be to install
the 32-bit i386 distribution but run a 64-bit kernel, that way each 32-bit
process would have 4G of VM since the kernel wouldn't have to share their
address space and you would also have the option of running some select
64-bit binaries if you find that something needs more VM.

The only bad thing about that is you would have to
compile whatever 64-bit stuff you need on your own since the only 64-bit
packages in i386 seem to be the kernel and a handful of libraries.

> 
> Thanks again,
> 
> /Neil
> 

Jim.



Reply to: