Search code examples
operating-systemprocessor

Advantages of PAE


I've read an interesting article at http://msdn.microsoft.com/en-us/library/windows/desktop/aa366796(v=vs.85).aspx. It states that:

  • Physical Address Extension (PAE) is a processor feature that enables x86 processors to access more than 4 GB of physical memory on capable versions of Windows.
  • PAE does not change the amount of virtual address space available to a process. Each process running in 32-bit Windows is still limited to a 4 GB virtual address space.

Would you please tell me what advantages of this feature are? Is it only useful for reducing amount of time OSs handle paging?


Solution

  • PAE is useful when you have more than one application running, and consuming memory. Like if you have 16GB of RAM on a 32bit machine, without PAE, you'd be able to use only 4GB for all applications, and the OS itself. But with PAE, you could have each process its own 32 bit address space, so you could use all the 16GB of RAM, just not from one process...

    Put the DB and the application server instances on the same box for example, and it becomes useful.

    EDIT In the first approach, this was not clear: one does not need to have a 64bit CPU to be able to use PAE! From Pentium Pro up, the CPU should be able to use it:

    In computing, Physical Address Extension (PAE) is a feature to allow 32-bit x86 processors to access a physical address space (including random access memory and memory mapped devices) larger than 4 gigabytes.

    (From: Wikipedia: Physical Address Extension)

    Also recommended to read:

    Wikipedia: 3GB barrier

    Serverfault: Which CPUs do/do not support PAE