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

Re: Memory



"Eicke" <eick.jac@terra.com.br> writes:

> Hi Gary I appreciate your response.
> My machine is a Dual Xeon 2.8 GHz 64-bit.

What does this mean?  I thought "Xeon" was Intel's brand name for
"server-grade Pentium", which still implies a 32-bit ISA and a 36-bit
physical memory address.  Maybe you mean that there's a 64-bit
physical memory address?  This would make it possible for the kernel
to see up to 2^64 bytes of RAM, but applications internally still only
have the 32-bit addresses.

> From: "Gary Hennigan" <glhenni@sandia.gov>

>> In general you're not going to be able to allocate more than 2GB of
>> RAM on a 32-bit system like the Pentium. While Intel played some
>> tricks with the hardware and actually implemented a 36-bit address bus
>> (I think it's 36 bits anyway), applications generally use 32-bit
>> pointers on a 32-bit CPU and they're assumed to be signed so that
>> limits you to 2^31 bytes of memory, or 2048MB (2GB).

I think the actual limitation here is the way the kernel partitions
the application address space; some memory needs to be reserved for
the program code, shared libraries, to interface to the kernel, and so
on.  This would bring about the 3 GB limit the OP is seeing.  It might
be possible to tweak the kernel (as in, modify the kernel source in
somewhat non-trivial ways) to get closer to 4 GB, but that 4 GB really
is a hard limit that you're not going to get around without a full
64-bit CPU.

-- 
David Maze         dmaze@debian.org      http://people.debian.org/~dmaze/
"Theoretical politics is interesting.  Politicking should be illegal."
	-- Abra Mitchell



Reply to: