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

Re: 32-bit memory limits IN DETAIL (Was: perspectives on 32 bit vs 64 bit)

Martin Kuball wrote:

Am Tuesday, 25. October 2005 02:31 schrieb linux@horizon.com:
Because the kernel address space has to hold more than just RAM (in
particular, it also has to hold memory-mapped PCI devices like
video cards), if you have 1G of physical memory, the kernel will by
default only use 896M of it, leaving 128M of kernel address space
for PCI devices.

A different user/kernel split can help there.  I use 2.75/1.25G on
1G RAM machines, but if you use PAE or NX, the split has to be on a
1G boundary.

But these are all workarounds.  The real solution is to use a
larger virtual address space so that the original, efficient
technique of mapping both the user's virtual address space and the
kernel's address space (basically a copy of physical memory) will
both fit.

And what about 64bit systems? How is the splitting done there? Do I have to worry?
The problem is exactly the same, but on a larger scale.
For 32-bit processors, you get trouble when your programs
need near 2^32 bytes or more. (I.e. 4GB.)  For a true 64-bit
processor, you get the same troubles the day you need
near 2^64 bytes or more per process.  Nobody is anywhere
near this limit yet.
Helge Hafting

Reply to: