Get all your news in one place.
100’s of premium titles.
One app.
Start reading
The Guardian - UK
The Guardian - UK
Technology
Jack Schofield

Maximum RAM in a Windows PC

I understand why a 32-bit processor can address only 4GB of memory, and that certain devices appropriate a range of memory addresses for their sole use. But if a PC has 4GB of RAM and those devices need only, say, 500MB, why is there not 3.5GB available for applications? If those devices need 1.2GB, is the user left with 2.8GB or only 2GB? Ken Lee

The 32-bit processor can access 4GB of address space, but the hardware design may mean it cannot address 4GB of physical memory. In the original IBM PC, for example, the processor could address 1MB but only 640K was available to the operating system: you lost the top 384K (37.5%). In modern 32-bit PCs, you lose the area from 3GB to 4GB (25%). This space is used for graphics, input-out operations, the system board and so on. Often these addresses are reserved even if the devices are not fitted: your hi-def PC still has memory space for 1980s graphics cards. This means that 3GB is usually the useful limit for a 32-bit PC, as Scott Colvey explained in a recent article, though some motherboards can make 3.5GB available.

You can see some reserved areas by using the System Information program -- go to Accessories and look in the System Tools folder. After running System Information, go to Hardware Resources and click on Memory. The addresses are not very readable as the numbers are in hexadecimal.

As you suggest, the system can also take more than the 1GB it is usually allocated. If you have a graphics card with 1GB of memory -- such as an nVidia GeForce 7950 GX2 -- this is going to need extra address space. Windows could be left with 2.5GB of memory or less, but it shouldn't remove a whole gigabyte.

Whether any of this matters depends on how many big programs you run. Each time you run a Windows program, it is allocated 4GB of virtual memory, which includes 2GB of program memory (Windows Task Manager reports the "working set"). Clearly you don't have, say, 400GB of RAM chips, but this virtual memory is mapped to real physical memory on the fly, as required.

When Windows needs to load a new bit of code, it caches bits of less-used code in the swapfile on your hard drive to maintain the illusion that you do have 400GB. Having more memory makes Windows run faster because it reduces the amount of swapping. You can therefore get a big speed improvement by expanding Windows' memory to 1GB, and 2GB often has noticeable benefits; 3GB, less so.

For a very rough analogy, think of each gigabyte as being like a seat in a family car.

Note: Text in italics, above, did not appear in the printed version.

Backchat: Richard Hancock points out that each Windows program can have 4GB of address space, which isn't necessarily virtual memory. "Only parts of that 4GB address space will be 'committed', ie backed by virtual memory (some or all of which will be backed by physical memory)."

Sign up to read this article
Read news from 100’s of titles, curated specifically for you.
Already a member? Sign in here
Related Stories
Top stories on inkl right now
One subscription that gives you access to news from hundreds of sites
Already a member? Sign in here
Our Picks
Fourteen days free
Download the app
One app. One membership.
100+ trusted global sources.