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.

3 thoughts on “More RAM! Good, right?

  1. The /3GB switch only relates to *virtual* address space. Windows will still use 3+ GB of ram it’s just that the address space of any one application will be limited to 3GB. Raymond Chen lays it all on the line here: http://blogs.msdn.com/oldnewthing/archive/2004/08/05/208908.aspx

    The amount of RAM that windows sees is dependent on lots of factors. Devices like Video Cards that do memory mapped IO will often eat up address space, some motherboards can fix this up. See http://support.microsoft.com/kb/929605

    At work I actually have some information on how to set the “3GB” switch on Vista. I’ll post a comment when I actually feel good enough to go into work with that information.

  2. Tekman explained to me in detail what the /3GB switch really did and wasn’t really what I was looking for, so it looks like I’m not looking for that solution on Vista anymore.

    Thanks for the information.

  3. If you still have this computer, and aren’t using a 64-bit OS on it now, pull whatever unnecessary cards out of the system that you can, and switch to a video card with the minimum RAM you need for its purpose…faster GPU > video RAM when you are trying to free up memory in that 4GB range, because every byte mapped to a device by the memory controller is another you won’t be able to use out of your physical RAM.

Leave a Reply