What is Kernel-PAE in Linux ?

The Physical Address Extension (PAE) is a feature implemented in modern x86 processors. PAE extends memory addressing capabilities, allowing more than 4 GB of random access memory (RAM) to be used.

NOTE: All the Linux machine with kernel version above 2.3.23 supports PAE kernel.

From Wiki
With PAE, IA-32 architecture is augmented with additional address lines used to select the additional memory, so physical address size increases from 32 bits to 36 bits. This increases the physical memory addressable by the system from 4 GB to 64 GB. The 32-bit size of the virtual address is not changed, so regular application software continues to use instructions with 32-bit addresses and (in a flat memory model) is limited to 4 gigabytes of virtual address space. Operating systems supporting this mode use page tables to map the regular 4 GB address space into the physical memory, which depending on the operating system may be as big as 64 GB. The mapping is typically applied separately for each process, so that the extra memory is useful even though no single regular application can access it all simultaneously.

You can verify whether your processor supports PAE using the below command
$ cat /proc/cpuinfo | grep flags | grep pae

flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss syscall nx rdtscp lm constant_tsc ida nonstop_tsc pni ssse3 cx16 sse4_1 sse4_2 popcnt lahf_lm
If you don’t see an output it means PAE kernel is not supported by your processor. As you need to look for “pae“under flags.

Related Articles
Linux Kernel boot time Optimization
How to Upgrade Kernel in Linux (Red Hat) to kernel PAE
What is a Kernel in Linux?
What is swappiness and how do we change its value?
What is GRUB Boot Loader ?

Leave a Comment