Originally Posted by artem
PAE kicks in if you have more than 3,2GB or RAM.
The penalty only kicks in when your application tries access more then the 32-bit limit. Load an application such as Maya, blender, matlab etc that actually tries to address more then the 32-bit limit and that is where the penalty kicks in.
What is the overhead, in terms of space and time, of using a PAE enabled kernel as compared
to an SMP kernel?
PAE doubles the size of page table entries from 32 bits to 64 bits, as well as adding
a small third level to the page tables. This means the maximum amount of kernel
memory consumed by page tables per process is doubled to slightly more than
6MB. In the 2.4.18 kernels shipped by Red Hat, this memory comes out of the
~700MB of available memory in the normal kernel zone. In the Red Hat Linux Advanced Server series of kernels, page tables can be located anywhere in physical
The performance impact is highly workload dependent, but on a fairly typical kernel compile, the PAE penalty works out to be around a 1% performance hit on Red
Hatís test boxes. Testing with various other workload mixes has given performance
hits ranging from 0% to 10%.
Dynamically changing the page tables to map memory into the 4GB address space
In this case, the application reserves a certain address range within its 4GB address space, and then as needed maps different memory pages to that address space. This method has an important performance penalty because not only does it add overhead to change the paging tables each time, but also the TLB (translation lookaside buffer, a special fast cache for paging tables) needs to be flushed each time you change the page table. This is the method similar to what we had in the old DOS days with EMS memory.