Warp69 wrote:
What are you talking about? PAE is functioning perfectly. 32bit address space is still limit to 4GB of memory, so no single program can address more than the 4GB, but you can have multiple programs that can use upto 4GB of RAM each. The OS just which between the 4GB pages.
PAE works perfectly in OSX, Linux, FreeBSD etc etc etc. The 2GB/3GB limitations is something that Microsoft have implemented in it's consumer (none PAE) products - but not in it's server products.
x86-64 is actually very close to way PAE is working (32bit have 2 tables, 32bit PAE use 3 tables and
64bit use 4 tables)
You're not entirely correct there, but you're on it but seems to be mixing up several things together!
Yes, 32bit physical memory range is 4GB, but PAE, WITH AWE and VAS (4GT) it's not bound to all the 32bit limitations anymore!
A 32bit application which is compiled to make use of PAE, AWE and VAS ( /LARGEADDRESSAWARE ) will under a 64bit OS be able to use 4GB in one application memory pool, but is still restricted to 2GB/3GB under a Windows 32bit OS!
Let's get this straight!
"AWE does not require PAE or 4GT but is often used together with PAE to allocate more than 4 GB of physical memory from a single 32-bit process."
* PAE allows the operating system to access and use more than 4 GB of physical memory.
* 4GT increases the portion of the virtual address space that is available to a process from 2 GB to up to 3 GB.
* AWE is a set of APIs that allows a process to allocate nonpaged physical memory and then dynamically map portions of this memory into the virtual address space of the process.
http://msdn.microsoft.com/en-us/library ... 85%29.aspx
And I sincerely do not know where you got your info from, but the 2GB/3GB switch are on the Server products as well!
and has been since Windows 2000 Server, and is still available on Windows Server 2008!
And how much memory an app can use under a Windows 32bit OS (Win 2000+) differs with PAE with AWE and VAS and even with the combinations these are used and supported by the application!
But it is still limited by the 2GB/3GB application memory pool limit, which makes a process being able to use more than 2GB or 3GB, and any data above this mem range can only be used as a cache!
In a simple example. If you open a text file thats 6GB large, only 3GB can be instantly available, hence the word application memory pool, the rest of the 3GB can be read into the memory range above the application memory pool, but in order for it to be read, it has to flush out the data in the application memory pool, and be read into that area. This is however can be a huge performance boost, not having to read it from a harddrive, but from fast RAM instead, which is a perfect explanation why SQL Server 32bit can with a few settings be set to take advantage of this!
This IS how it works in the Windows world (32bit Windows 2000, XP, 2003, Vista, Win7, and 2008)! With exceptions from certain Windows 2000 versions!
I have no idea how Linux copes with PAE, and how it uses it, so I won't even go there since I'm a Windows Server MVP!
Now THIS is way OT!