Apologies to the OP, but I think we have drifted some way off helping you, but there is some, err, misunderstanding or mis-expression, in this thread and I really don't like the idea of deceptive material hanging around.
Quote:
Originally Posted by Electro
It seems everybody got the information about using 4 GB of RAM on a 32-bit OS and swap memory wrong.
|
It seems that you have taken in too much of that wrong stuff and chosen to believe it, or at least, recycle a somewhat distorted version of the truth..
Quote:
A 32-bit OS can handle 4 GB with out any problems. PAE comes in and takes the fun out of it, so close to a gigabyte of RAM is used to help address the memory.
|
No. A 32 bit OS can handle a a 4G
address space, but practically, within the PC architecture, when you take out the various holes for various bits and pieces of IO, you end up with being able to adress rather less memory than this.
Quote:
PAE is not necessary to handle 4 GB of RAM on a 32-bit setup.
|
This would be true, if it weren't for the memory holes. But the memory holes are a significant part of the picture when you you get towards 4G of ram (and want to use as much of it as you can).
Quote:
Unfortunately, PAE can not be turned off.
|
Well, you can't turn it on and off dynamically, if that's what you mean (but its unclear why you would want to mean that, as no one has mentioned wanting to do this on a running system). But you can always choose not to use it (ie, use the non-PAE kernel) and put up with the 4G minus the memory holes.
Quote:
Swap memory can be any size. It has no limits of size and quantity. There are limits, but you will not ever get close to them.
|
according to the linux Partition howto
http://lissot.net/partition/index.html you could have a limit of 2G per swap partition (or it could be 16T). That is arch dependant, and while we might agree that it would not be sane to get close to 16T, 2G (i386) is another matter. The document is a bit old by now ('05) and maybe things have changed in the latest kernels, but if the OP was running one of the more compact distros, intended for older hardware, this could be an issue.
Quote:
The reason why I stated that close one gigabyte is used for PAE is actually the truth
|
PAE is not actually using the memory lost due to the holes. john has dealt with the problem of using, but, in fact, that is a poor expression: the problem is not so much
using as
not using. that is, losing due to holes, rather expending extra memory in page mapping.
Quote:
Since PAE turns physical RAM into virtual memory, it is basically 1 GB of RAM that you can not use.... It makes it worst for every 4 GB of RAM that is installed. Also Linux is a virtual memory operating system, so two layers of virtual memory is used and this penalizes the computer.
|
- Redhat have done testing on this and find, in their target workloads (think server, rather than desktop) that there is roughly a 1% to 5% loss of performance when PAE is used. AFAIK, their testing did not encompass the case in which the non-PAE server swapped, but the PAE one didn't, which would reverse the situation somewhat.
- The allegation that PAE turns physical RAM into virtual memory is bizarre. the virtual memory system turns physical memory into virtual memory and PAE adds a level of paging to that. So, as you note yourself, if you have a virtual memory system like Linux, then you have virtual memory and PAE doesn't change that (actually, even that's not totally true; non-virtual memory systems are used in some embedded applications, although that's not really relevant to this thread).
Quote:
An 80386 can handle 4 GB of physical RAM because the manual says so
|
Johnsfine wrote:
Quote:
An x86 CPU manufacturer is free to say you can have a full 4GB of ram without PAE
|
But, as far as I am aware, they don't. They are usually careful to say that you have a number of address lines or a certain address space and let people jump to the conclusion that they can use all of the address space for RAM, if they want to. Of course, even on archs on which the I/O is separately mapped, you wouldn't get the full amount for RAM, because you have to use some for a boot rom, and every hardware engineer would know that.
So, if you have a reference to an Intel manual saying "80386 can handle 4 GB of physical RAM" (and not 'up to' or 'physical address space for' or some other form of weasel words), I'd be interested.