More RAM! Good, right?

This past week I ordered more RAM. How could I pass up on HP 1GB DDR2 PC5300 RAM that was less than $3 a stick (after rebate of course).

Anyway, my Vista Media Center PC has been upgraded from 2GB to 4GB now and I have 2 spare GBs right now which I had planned on putting into my older file server (which only had 1GB). Unfortunately, it turns out only half of my memory was correct (pun not intended). I recall specifically that motherboard support 2 kinds of RAM, but I was thinking DDR and DDR2. However when no matter how hard I try to push the RAM in, it wouldn’t go in, I realized that the little notch did not line up and that’s when it hit me that this motherboard only supported DDR and the old SDRAM.

Also, for the longest time, my Abit IL9 Pro (the motherboard in my main box and my Vista Media Center PC) would only show 3200MB of the 4GB RAM when it was POSTing. I thought that was weird, but didn’t really care so much since neither XP 32bit nor Vista 32bit was able to use more than 3GB. I finally got myself one of those USB floppy drives this past Christmas and was able to flash the bios. It now shows the correct amount of RAM: 4096MB. It also enabled some annoying sleep feature where it would constantly blink my power LED when it’s asleep and the LED is super bright. I’m contemplating on duct taping that LED or just unplugging it.

So I know that XP can’t utilize all 4GB of RAM in 32bit mode, but the number was much smaller than I had anticipated.

On XP, System Properties only shows 2.87 GB of RAM. I’ve already enabled PAE (Physical Address Extension) and 3GB. From Memory Support and Windows Operating Systems:

Windows XP Professional and Windows Server 2003 Memory Support. The maximum amount of memory that can be supported on Windows XP Professional and Windows Server 2003 is also 4 GB. However, Windows Server 2003, Enterprise Edition supports 32 GB of physical RAM and Windows Server 2003, Datacenter Edition supports 64 GB of physical RAM using the PAE feature.

The virtual address space of processes and applications is still limited to 2 GB unless the /3GB switch is used in the Boot.ini file. When the physical RAM in the system exceeds 16 GB and the /3GB switch is used, the operating system will ignore the additional RAM until the /3GB switch is removed. This is because of the increased size of the kernel required to support more Page Table Entries. The assumption is made that the administrator would rather not lose the /3GB functionality silently and automatically; therefore, this requires the administrator to explicitly change this setting.

The /3GB switch allocates 3 GB of virtual address space to an application that uses IMAGE_FILE_LARGE_ADDRESS_AWARE in the process header. This switch allows applications to address 1 GB of additional virtual address space above 2 GB.

The virtual address space of processes and applications is still limited to 2 GB, unless the /3GB switch is used in the Boot.ini file.

On Vista, System Properties only shows 2,943 MB of RAM, which comes out to be about the same amount in XP. However, I couldn’t find a way to specify the /3GB switch since Vista has a different boot loader.

Given that, this all comes down to I/O mapping limitations in 32-bit Windows OS and you basically only have ~3GB of accessible memory. Oh well. At least they get to run in dual channel mode, right?

P.S. I’ve finally installed the last hdd into my file server, so hopefully my many months old blog entry will be finally posted.