Monday, January 28, 2008

I found another 512MB in my HP server

Every time I install a HP with SBS I always install 4GB of RAM. Why? Well, simply put this is the limit of SBS 2003 (since it run Windows Server 2003 Standard edition) and memory is so cheap these days. In some systems (SBS Standard) sure it is probably an overkill but you never know, so 4GB it is. Problem is with HP servers you never get access to the whole 4GB of RAM. Usually about 512MB goes missing.

Missing where you ask? Well, I understood that it has to do with the motherboard and memory reserved for PCX controllers (and what not) that is never really used anyway so it just get wasted. I always accepted that as fact since I generally didn't have much time to muck about on clients systems. However, after recently virtualizing all my server onto a single HP server with exactly 4GB of RAM I decided that I wanted to know where that lost memory actually went to, since the more RAM I have on my server the more RAM I can give my virtual machines.

So after doing some poking around I found the following link that talks about the missing memory. Now, it appears to access the memory above 4GB of RAM in Windows systems that support it (ie Windows Server Enterprise and Datacenter) you need to add the /PAE switch to the boot.ini. What does the /PAE switch do? Well, here's a link from Microsoft that explains the function of the /PAE option.

So, because my HP server is running Windows 2003 Enterprise and has exactly 4GB of RAM I decided I had nothing to lose by giving it a go. Guess what? After the reboot I now had exactly 4GB of RAM! That's at least 512MB more than what I had prior to adding the /PAE switch.

Hmmm...upon reading the HP link a little closer and doing some more poking about it appears that the /PAE option maybe valid on HP systems with exactly 4GB of RAM even if they are running Windows 2003 Server Standard (ie SBS 2003). Now, not having a 4GB SBS 2003 HP server to test this on I need to find a (non-production) system that I can test this on to see if it does in fact give back the 512MB consumed on SBS 2003 systems with 4GB of RAM installed.

So, if you have a HP server running SBS 2003 with exactly 4GB of RAM it may be worthwhile adding the /PAE switch to the boot.ini to see if you recover the "lost" 512MB of RAM. It shouldn't work on SBS 2003 but it may do because it has something to do with HP machines specifically. Like I said, I haven't actually tried this on a HP system running SBS but it certainly worked on a HP server running Windows Enterprise Server.

If someone out there wants to test the /PAE switch and let me know if it does recover the RAM I'd be grateful but in the meantime I'll just have to bide my time until we get a new SBS order so I can test it for myself.