Linux is limited by hardware limitations in terms of access to memory.
For a 32 bit machine (i386) the total amount of memory that the
processor can address is or 4GB. Linux allocates one quarter
of this for the kernel, and the rest for processes. (MS/Windows
allocates half for the operating system and only half for the user
processes.) Thus a single user process can access up to about 3GB of
memory (seems to actually be about 2.6GB or 2680MB).
Intel's PAE (Physical Address Extension) is a feature of all Pentium Pro
and newer CPU's. The PAE extension allows up to a maximum of 64GB of
Physical Memory (RAM) to be addressed by the operataing system, but not
a process. This is achieved by using indirect pointers to the higher
memory locations. There is a CPU and RAM hit for using this, and seems
to be of the order of 3-6% CPU. Note again that PAE does not increase
Linux's ability for a single process to see more than 3GB of RAM.
A 64 bit processor allows much more memory to be addressed. The AMD
Opteron uses 40 bits for addressing (due to a current physical limit
on address pins) but uses 64 bit addressing, so up to bytes
can be addressed. However, some applications actually run slightly
slower because the pointers are larger and garbage collection will
take longer.
Copyright © 1995-2006 [email protected]
|