Monday, June 8, 2009

4 GB RAM in 32-bit Windows XP and Vista

http://ralphlosey.wordpress.com/2007/06/20/district-court-in-la-decides-computer-ram-memory-must-be-preserved-and-produced/http://www.pcextreme.net/news/your-ram-check-it/http://www.supplierlist.com/manufacturer-ddr_ram.htm

As more and more of us load up our systems with lots and lots of RAM, this question surfaces more and more. You put 4GB in your computer. The motherboard supports 4GB, Windows XP and Vista support 4GB, so everything is fine.

But when you open the System applet in Control Panel, the system tells you that there is 3.5GB, or maybe 3 GB even. Where did the rest go?

It turns out that these systems have a 4GB address space, which must be used to address physical RAM, as well as other things. This is addressed in the Microsoft document Memory Management: What Every Driver Writer Needs To Know. In particular, the fourth full paragraph on page 10 says:

The physical address space is used to address more than just RAM. It is also used to address all of the memory and some of the registers presented by devices. Consequently, if a machine is configured with the maximum amount of physical memory, some of that memory will be unusable because some of the physical address space is mapped for other uses.

So the machine must use that 4GB address space for other things besides your RAM. But what other things?

I recently had a new Dell Optiplex computer put on my desk at work. Being curious, I went to the Dell web site and found the manual for this computer. In that document, it says this:

This computer supports a maximum of 4 GB of memory when you use four 1-GB DIMMs or two 2-GB DIMMs. Current operating systems, such as Microsoft® Windows® XP, can only use a maximum of 4 GB of address space; however, the amount of memory available to the operating system is less than 4 GB. Certain components within the computer require address space in the 4-GB range. Any address space reserved for these components cannot be used by computer memory.

The following components require memory address space:

  • System ROM
  • APIC(s)
  • Integrated PCI devices, such as network connectors and SCSI controllers
  • PCI cards
  • Graphics card
  • PCI Express cards (if applicable)

At start-up, the BIOS identifies the components that require address space. The BIOS dynamically calculates the amount of reserved address space required. The BIOS then subtracts the reserved address space from 4 GB to determine the amount of usable space.

If the total installed computer memory is less than the usable space, all installed computer memory is available for use only by the operating system.

If the total installed computer memory is equal to or greater than the usable address space, a small portion of installed memory is unavailable for use by the operating system.

The first thing that I see on this list is “Graphics card”. Video cards nowadays commonly have one or two hundred MB of RAM on them. That video RAM takes up part of the 4GB address space, which then is not available for your physical RAM.

With all of that understood, I’m still hard pressed to fugure out where an entire GB of address space goes.

Another very good discussion of this topic is HP's RAM Allocation with Microsoft Windows XP Professional (32 & 64-bit).

The ultimate solution to this is 64-bit computing. A 64-bit computer running a 64-bit operating system will have an enormous address space. The Microsoft document referenced above says that 32-bit Windows XP allows 128GB of RAM. That's 37 bits of address space. (a full 64-bit address space would be something like 18 quintillion (18x1015) bytes. I don't think any hardware or software manufacturer is to that point yet.) That system would have no problem accessing every bit of your 4GB of RAM.

What about the /3GB switch?

It doesn't apply.

The /3GB switch in the boot.ini file affects the way Windows XP allocates the 32-bit virtual address space that each process gets. By default, that address space is split evenly between the operating system and the program. The /3GB switch forces the OS to allocate 3GB to the program and only 1GB to the system. This can result in the OS being squeezed and not working efficiently. It's necessary for only a very few, extremely RAM-hungry programs. It will not make your missing physical RAM reappear.

Check the Installation

When a problem occurs with newly-installed RAM, you should first make sure it's installed correctly. The modules should be secure in their slots, lined up properly with the notches in the slot, should fit properly, and the retaining clips or ejector clips, if they exist, should be firmly secured. When this is achieved, the memory is said to be seated correctly.

If these items are not the problem, reread your computer manual and the installation instructions for the memory you purchased. Some memory has to be installed directly next to existing memory, and an open space between modules will cause the memory to not be recognized. Other times, memory must be from the same manufacturer, and the memory modules must all be the same size (all must be 512 MB, for example). The instructions that came with the RAM should include this information.

Tips on Installing Ram

You must have available open memory slots to add memory. In extreme cases when only one slot exists, you may have to remove a 256-MB memory module to add a 512-MB one.

Once you have the correct RAM, you should follow the manufacturer's instructions for installing it. These instructions can be found on the manufacturer's Web site or in the manual that came with your computer. In some instances, installing your own RAM will void the warranty, so it's important to make sure you understand the rules before starting the procedure. If you don't have a manual, if the computer is homemade (generic), you'll need to follow the guidelines that come with the RAM itself. For the most part, the procedure is as follows:

1.

Turn off the computer, monitor, and all accessories, including printers, speakers, and external hard disks.

2.

With the computer plugged in, touch a metal part of the computer case to ground yourself so you don't "shock" any of the computer's internal parts.

3.

Open the computer case using the appropriate tools, remove the cover, and remove the existing memory if necessary, usually by pressing down on the retaining clips at the ends of the memory module and pulling the module toward you.

4.

Remove the new memory module from the anti-static bag and hold it by its edges.

5.

Locate the open memory slots, and find the lowest numbered slot if more than one exists. If no numbers are shown, use the slot closest to the already installed memory.

6.

Open the retaining clips if necessary, and place the memory in the open slot. The memory module may go straight in, or it may have to be tilted first and then installed by popping it at a 45-degree angle.

7.

Turn your computer back on, and verify the memory is displayed on your startup screen. If your startup screen is hidden, right-click My Computer, click Properties, click the General tab, and verify the memory is recognized.

8.

Carefully replace the cover if the memory is recognized and the computer seems to be functioning correctly.

For detailed installation instructions for any memory module, including digital pictures of each step involved, visit Crucial's installation pages.

Troubleshoot RAM Installations

How Much RAM Do You Need?

Most new off-the-shelf computers come with 256 MB (or more) of RAM, and 256 MB is the minimum you should have to run Windows XP. Although the System Requirements page suggests 128 MB or higher, if you only have the minimum amount, you'll run into problems with third-party software and when working with large files. Just because Windows XP can run on 128 MB of RAM doesn't mean all third-party programs can. For instance, Adobe Photoshop CS requires 192 MB of RAM (256 MB is recommended), and without it, the program either will not install properly or will not work properly once installed.

Third-party software isn't the only reason to have extra RAM though. Movie Maker 2 recommends 256 MB to function as its best. That's because applications need a place to store data temporarily while you're editing a photo or rendering a movie, or even printing a file or picture, and that temporary storage area is RAM. When RAM gets full, data gets swapped out of RAM to the hard drive to make room for the incoming data. Getting the old data back from the hard drive takes much longer than getting it from RAM, so when this happens there's a noticeable slowdown.

The RAM issue in a nutshell: if you have less than 512 MB of RAM on your Windows XP-based computer and you use any of the media tools that come with Windows XP including Windows Media Player and Movie Maker, or if you use third-party image editing tools, or run multiple programs at once, you probably need more RAM. And if you only have 128 MB of RAM and can't add more, avoid running multiple programs at once and editing large image files.