I have a machine equipped with Intel motherboard DG965RY that has 4G RAM. The machines work as usual running Windows Vista for years.
I installed Windows 7 x64 on the machine recently and the OS works extremely slow. The CPU is Intel(R) Core(TM)2 CPU 6600 @ 2.40Ghz. It should support 64 bits instruction sets as seens in BIOS page showing EM64T. I first thought it could be CPU or motherboard that doesn’t support x64 OS well. I then re-install the machine with Windows 7 x86 and it works like a charm.
2 Days later, I try to install AsteriskNOW backed by CentOS 5.5 (kernel 2.6.18-194.3.1.e15PAE) i386 on the same machine. Again, the machine running the kernel 2.6.18-194.3.1.el5PAE is so lagging. However, it works as usual if running kernel 2.6.18-194.3.1.el5.
I google for the different between PAE kernel and non PAE kernel. PAE stand for Physical Address Extension. A clue sparks on my mind suddenly after knowing from the PAE term that it might be something to do with the memory. I remember that 32 bits machine have limitation on memory address in Windows Vista x86. It may only detect 3.5G from 4G RAM installed.
I unplug a 2G RAM from motherboard slot and left 2G RAM to the machine and attempt to run PAE kernel. It works like a charm. A good news follow is Windows 7 x64 works extremely smooth with this 3 years old machine too.
I quickly browse the Intel BIOS update page and found there is update regarding addressing issues of 4G RAM. I download and update the BIOS to the latest version, plug the 2G RAM back to motherboard and boot the machine with 4G RAM. Both Linux PAE kernel and Windows 7 x64 works smoothly as expected.