If server has 4 GB or more memory, some operating systems may not access all of the memory. 64 bit OS are out of this subject.
Some PCI, PCI-X and PCI-Express cards use memory below 4 GB which known as PCI hole or PCI Extended Configuration Space. This space could not allocated for system memory and relocated above 4 GB. Then if the operating system is not PAE enabled or not allowed to because of limitation (like Windows Standart edition) could not use this memory location and shows less then 4 GB.
For Windows edition you can add /PAE switch to the boot.ini. (not for XP and standart edition)
I confused, because kernel-smp (2.6) versions say that it is supporting up to 16 GB.
But You have to install bigsmp kernel instead of smp for SUSE. And i686-smp or hugemem kernels for Red Hat. (kernel-hugemem is required for memory configurations higher than 16 GB).
There is kernel-pae packeges for some distributions(Fedora, CentOS).
You can find warning message "Use a PAE enabled kernel" from output of dmesg command.
BTW There is another option that you can compile your kernel.