Approve the Cookies
This website uses cookies to improve your user experience. By using this site, you agree to our use of cookies and our Privacy Policy.
OK
Index  •   • New posts  •   • RTAT  •   • 'Best of'  •   • Gallery  •   • Gear  •   • Reviews
Guest
New posts  •   • RTAT  •   • 'Best of'  •   • Gallery  •   • Gear  •   • Reviews
Register to forums    Log in

 
FORUMS General Gear Talk Computers 
Thread started 22 Jan 2008 (Tuesday) 15:05
Search threadPrev/next
sponsored links
(this ad will go away when you log in as a registered member)

-=FAQ=- Why don't I see all my RAM? The 4GB limit.

 
CyberDyneSystems
Admin (type T-2000)
Avatar
50,108 posts
Gallery: 161 photos
Likes: 6821
Joined Apr 2003
Location: Rhode Island USA
     
Jan 22, 2008 15:05 |  #1

Many posts these days about the 4GB limit to 32 bit OS (most versions of Windows in use)

This post is an attempt to clarify and summarize the reasons we never actually get to use the full 4 gigabytes of system RAM we just installed on a Windows 32 bit OS (this includes Windows XP, Vista and 2000.)


Oddly the reasons for this are not very well documented... anywhere!
MS has little to say on the subject other than the fact that there 32 bit OS are restricted to 4GB total, and that 2GB is taken by system OS and 2GB is available for apps. Although the right info is actually there, it is never explained in a way that takes into account what the actual limitation is that prevents your system from seeing all 4GB DIMM memory you just installed.
I don't quite understand why this is that MS is so silent on the subject in a easy to understand terms,. but it may be due to the fact that the missing RAM is due to your hardware, and MS does not want to discuss hardware?


Where's all my RAM? :

Let's start with the assumption that we have the correct hardware to handle the installed RAM, and 4GB of RAM installed.
The BIOS "sees" all 4GB in post, but Windows displays only 3.2GB RAM in system properties. So where's the rest? It's still there, but you can't use it all.

Heres is what is happening.
Windows can "address" 4GB of RAM total.
This total is not only reserved for your actual physical RAM Dimms you install,. The key word here is "address"

In Windows, hardware devices and ROM are mapped to memory space starting at 4G and down.

If you installed total 4GB memory, the system will detect less than 4GB of total memory because of address space allocation for other critical functions, such as:

- System BIOS (including motherboard, add-on cards, etc..)
- Motherboards resources
- Memory mapped I/O
- configuration for AGP/PCI-Ex/PCI
- Other memory allocations for PCI devices

Different onboard devices and different add-on cards (devices) will result of different total memory size visible to you and the OS.
e.g. more PCI cards installed will require more memory resources, resulting of less memory free for other uses.

Analogy time:

Let's use this word "address" for our analogy.
You are the OS, your installed memory are your workers,. the system hardware are your supervisors, and your (oue Windows) ability to contact all of the above is your "address book"
The Key again is your address book.
It can hold exactly 4,000 names, no more.

Example 1
You have 2,000 workers (2GB RAM installed)
You have a bunch of supervisors totaling 800 address book entries (system hardware requirements)

You organize your Address book in a hierarchical fashion, with the Workers starting at the back, but up top, are the Supervisors.

With 4,000 entries available, if you have 2,000 workers at the bottom of your directory, and 800 supervisor entries up top easier to find, the total addresses is 2,800 used in the book. You will be able to write down and contact all 2,000 workers.

Example 2:
You have 4,000 workers! (4GB RAM installed)
You have the same bunch of supervisors totaling 800 address book entries (system hardware requirements)

You start to write down the workers starting from the bottom of your address book but since you have 800 entries taken up top by the supervisors, you only have room to write in the contacts of 3,200 workers.

ie: You can use up to 4,000 but can only contact the 3,200 as those are the addresses you can fit in your book.
This is the 32bit limit.


Modern Machines suck up more resources:

As mentioned, the hardware installed will vary the amount of a hit you take on addressable DRAM considerably.
Recently a number of changes in both hardware and Windows has made more ram seem to go missing.
Some changes to the OS in SP2 and most Motherboard firmwares since then were written to alleviate some issues with driver conflicts. These same changes increased the amount of Address space reserved, and thus decreased the amount of RAM you will see in Windows. (this applies to Vista as well)
A good deal of the address book is being taken up by PCI resources.
It turns out that PCI -Express is even more demanding than PCI or AGP were, so these Mobos are taking even more of our RAM's bottom line.

Motherboards used to have a much more limited number of onboard features as compared to today.
Disk controllers and PS2 ports etc, but now we get dual Ethernet jacks, two or more USB2 controllers, RAID controllers, onbaord sound, (much more complex onboard sound), BIOS based antivirus protection, and on and on.
In 2002 The PCI bus itself took some resources, but you had to stuff those PCI slots with 4 or five cards to equal the amount of hardware that comes soldered on a Motherboard these days.

Graphics RAM is still RAM. Unless you have 4GB of RAM installed you'd never know it. but it too is taking up valuable room in your limited capacity address book.
Graphics RAM used to be a small number like 8 or 16MB,. now we have 512MB cards and with SLI we can install two of them. Bam! that's 1GB of your address book gone!


Want to see what's taking the Top end RAM? :


Here's a cool thing for the curious and trouble shooters among us. We can actuyally have Windows tell us exactly what hardware is sucking up address space and RAM resources,, and we can even find out how much for each (though that part will take a computer science degree and a translation effort on par with the Rosetta Stone and the dead sea scrolls! )

In WINXP
- Right Click on My Computer and select Properties.
- Select the Hardware Tab.
- Click on "Device Manager"
- In the top menu bar, click "view" and select "Resources by Type"
- Now click on the plus sign ( + ) next to "Memory"
Now you get a list of all the hardware that is grabbing memory and address ranges.
You also now get a real world view of what all this address nonsense means.
Those numbers [In - brackets] are actual memory address ranges.
With the right tools, you could use those numbers to see how much RAM each of those numbers represents.

Can I get any RAM back? :

It's often possible, but not always easy. It depends on hardware and software changes.
Software wise, the /PAE switch (external link) Can help! but this is only if your hardware is up to the task. The HOW TO on the /PAE switch follows below.
On my system the /PAE switch added to teh BOOT.ini line of the XP32 OS worked immediately! A simple edit and reboot and I went from 2.5GB RAM available to the full 4GB.
But, my Motherbaord and hardware is made to handle as much as 32GB of RAM in a 64 bit OS, so the ONLY thing preventing this from working was Windows XP 32
YMMV.

Hardware:
Your Mobo may be taking more resources than required, and there may be ways of adjusting BIOS settings to get some back. Older Mobos had a setting for AGP that could effect things.
Certain unused hardware being disabled or removing unused cards should get some memory back.

The most you can usually get is approx 3.5 (without the /PAE switch) but these days with modern hardware this is rare. Norms are now in the 2.5-3GB range, with some dipping below 2.5

64 BIT OS

Windows 64 bit OS's can address 128GB of RAM. (potentially 64 bits can address far more, in the terabytes, but the current Windows OS' limit the addressable RAM to 128GB)
This means that when you install 4GB or 8 or 16 or 32 etc.. you will see essentially all of it as the "supervisors" are not touching the address space of the DRAM.


The /PAE Switch and Your Boot.ini file: You may be able to get all 4GB back!

Assuming your hardware will support it, and you are running the right version of an MS 32 bit OS, adding this line to your "boot.ini" file may give you full access to your 4GB of RAM.

To do this you need to do the following;

  • Go to your Boot drives ( C: usually ) root directory.
  • Make sure you can see "hidden and system files"
  • Right click on the semi transparent "boot.ini" file and select "open with"
  • Chose "notepad"
  • The text should read "similar" to this; ( might not be exact )


multi(0)disk(0)rdisk(0​)partition(2)\WINDOWS=​"Microsoft Windows XP Home Edition" /fastdetect /NoExecute=OptIn

  • In notepad, add "PAE" to the end of the line with a single space in between (no quotes)
  • Like so;

multi(0)disk(0)rdisk(0​)partition(2)\WINDOWS=​"Microsoft Windows XP Home Edition" /fastdetect /NoExecute=OptIn /PAE

  • Save the file,
  • Close "notepad"
  • Reboot.


HOSTED PHOTO
please log in to view hosted photos in full size.


GEAR LIST
CDS' HOT LINKS
Jake Hegnauer Photography (external link)

  
  LOG IN TO REPLY
sponsored links
(this ad will go away when you log in as a registered member)
quickben
Fairy Gapped
Avatar
1,511 posts
Gallery: 17 photos
Likes: 159
Joined Mar 2004
Location: Whitley Bay, UK
     
Jan 29, 2008 15:51 |  #2

So does this mean that when my 8GB of DDR2 800 arrives, I can only use 3.2gb of it until I upgrade to Vista 64bit ?


Fighting the war against the unnecessary use of the Book Worthy Smiley
My name is Gary, not Ben.
6D 24-70/2.8VC 85/1.8

  
  LOG IN TO REPLY
Leicca
Hatchling
Avatar
3 posts
Joined Dec 2007
Location: Sunny warm Arizona!
     
Jan 30, 2008 05:51 |  #3

Sadly yes, we built two computers last month only to have this exact issue come up. From our understanding 32bit supported 4 gigs, but it did not IE: it only showed 2.5 gigs of the 4 gigs. We chose to purchase 64bit Vista and luckily were able to use the 32bit Vista on the kids computers.


Canon 7D - Canon XTi
Canon 70-200mm f4/l * Canon 50mm * Tamron 28-80mm * Tamron 75-300mm
Check out my Flickr

  
  LOG IN TO REPLY
Bobster
Cream of the Crop
Avatar
5,145 posts
Gallery: 1 photo
Likes: 842
Joined May 2006
Location: Dorset, England
     
Jan 30, 2008 08:37 |  #4

quickben wrote in post #4809844 (external link)
So does this mean that when my 8GB of DDR2 800 arrives, I can only use 3.2gb of it until I upgrade to Vista 64bit ?

and then prepare yourself for the headache that is Vista 64 with 8GB RAM

you'll need to install using just 2GB and then apply a patch that will allow you to run with the full 8! because you know when Microsoft wrote Vista 64, i bet none of them tested it with a machine with 8GB RAM in it!! i ran with 2GB with Vista 64 installed in anticipation for the 8GB i knew i needed to complete a job..

RAM came, i put it in and got nothing but reboots with it in until i applied the patch .. good one Microsoft..


Robert Whetton (external link) Dorset Portrait & Events Photographer | Photoshop Guru
DIY Monitor Hood (external link) | Gear | Tweet (external link) | Insta (external link) | FoCal 2 (external link)| Ultimate RAW Editor (external link)

  
  LOG IN TO REPLY
BigBlueDodge
Goldmember
Avatar
3,726 posts
Joined May 2005
Location: Lonestar State
     
Feb 04, 2008 01:12 |  #5

This topic is often discussed, but rarely understood. There are two issues at play, the hardware's ability to deal with 4+ GB and Windows ability to deal with 4+ GB of RAM.

When most people talk about a 32bit OS or a 64bit OS, they really don't understand what the 32/64 refers to. I'll try not to go to technical, but these numbers refer to the size of something called a "pointer". In technical terms, a "pointer" is something that refers to a memory location. There are 8 bits in a byte, so a 32bit OS will use pointers 4 bytes in size. A 64bit OS will use pointers 8bytes in size. A 4 byte pointer will be able to address a memory address locations from 0 to 4,294,967,295 (4 gigabyte or 2^32). This limitation is purely a mathmatical one. An 8 byte pointer will be able to address a memory location from 0 to 18,446,744,073,709,551​,614 (16 Exibyte or 2^64). So the XXbit designation refers to the addressable memory range of the hardware/software platform. Higher bit counts means larger addressable ranges.

Now, from a hardware perspective, up until recently, the hardware (i.e motherboard) was designed to be able to support a 4GB addressable memory range. Hardware will typically talk to the OS by using memory locations. What would happen is that your motherboard's chipset would start mapping your hardware devices into this 4GB address range. It would start mapping the hardware devices to the high end of the range and work down, and it would map your RAM from the low range and work up. For example, lets assume you have 2 GB of RAM and your hardware devices requires 1 GB of address range. Your motherboard chipset will map your RAM from the 0-2GB range, and map your hardware from the 3-4GB range. Most users never realized this happened because up until recently no one used 4GB of ram. Now let's change the example to show what happens when a user installs 4GB of ram. Your motherboard chipset will map the RAM from the 0-4GB range. It will also map the hardware from the 3-4GB range. Your hardware devices take priority over your RAM, so essentially, your chipset will ignore the top 1GB of your RAM, and use that to address your hardware devices. The net effect is that you only see 3GB of RAM, even though you physically have 4GB of RAM installed. This is why people buy 4GB of RAM, and boot up XP and only see 3.25GB or 3.0GB being shown in the System Properties. This is how much your chipset is telling XP is available.

This limitation is not solved if you install a 64bit OS on an older motherboard. Your OS is limited by what the underlying motherboard chipset will expose to it. If your motherboard chipset was telling XP that only 3.25GB is available, then your motherboard will still tell 64bit Vista that 3.25GB is available. Nothing changes, and the motherboard will still act the same way. The newer motherboards have been updated in how they work memory ranges, and can map hardware devices to ranges above 4GB. Since these devices are mapped higher in the address range, that leaves more room for you RAM. 10 years from know we are probably going to hit this same issue again. Except then it will be "I installed 128GB of RAM but Windows is only showing 100GB available".


Now, on to Windows. Windows will allocate a block of memory for each process (process generally refers to an application). The amount of memory is limited by the bit architecture. A 32bit Windows OS will allocate 4GB of addressable memory space to each process. Windows calls this "virtual memory" because the actuall hardware may not contain 4GB, but Windows allows the process to think that there is 4GB there. A 64bit OS will allocate an even larger addressable memory range (up to 128GB for Windows Vista).

Now, the memory range Windows gives to each process is not solely dedidcated for the application running in that process. On a 32bit Windows OS, each process gets 4GB of address range. Of that 4GB range, 2GB is reserved for the application, and 2GB is reserved for Window's internal use. You may ask why 2GB is reserved for Windows. Well, when an application is started, a process is created. Windows creates internal data structures to track all sort of items about the application (such as it's windows, the fonts, blocks of memory, etc). Windows needs to store these data structures somewhere, so it stores them in the 2GB range of each process allocated for Windows. What this means, is that an application could only address up to 2GB of "virtual" memory. If you had 3GB installed, then your application could only use 2GB of it. Microsoft added a switch (the /3GB) that would change the ratio of memory allocated to the application versus Windows. Using the /3GB switch, will force Windows to use 3GB of the 4GB address range for the application, and only use 1GB of the 4GB range for Windows. By using this switch, applications can "see" 1GB more. So, let's talk theoreticals here. Let's assume that you had 4GB of RAM installed on your motherboard, and for example sake, your hardware devices didn't map into this address space, so Windows could see the full 4GB. When you start an application, such as Photoshop, the application can only use 2GB of your 4GB RAM using a default install. If you enable the /3GB switch, then Photoshop would be able to use 3GB of the 4GB of RAM.


So it boils down to this. If you are using an older motherboad that maps within a 4GB memory address range, it does not matter what XX bit OS you install, the hardware will limit the amount of RAM you can see.

If you are using a newer motherboard that can map above the 4GB range, then the XX bit OS you install will dictate how much RAM you can see. If you have 8GB on a new motherboard, and install 32 bit XP, or 32 bit Vista, then you will only be able to see 4GB of RAM. If you install 64 bit XP (Yes, there is a 64 bit version of XP), or 64Bit Vista, you will be able to see the full 8GB of your RAM.


If I had to guess, Microsoft is not saying much about this issue, as it is really a hardware problem and not a Windows problem. Why do they need to provide an explanation for a problem with the chipsets? Intel, AMD, and the like should be the one explaining this. Would you expect Microsoft to explain why your CPU melted, because you went into the BIOS and overclocked it?


David (aka BigBlueDodge)
Gear

  
  LOG IN TO REPLY
cosworth
I'm comfortable with my masculinity
Avatar
10,930 posts
Likes: 11
Joined Jul 2005
Location: Duncan, BC, Canada
     
Feb 05, 2008 11:59 |  #6

Also do not forget that laptop chipsets will not allow any addressing above 4gb. You can't usually install more than 4gb in a laptop, so this is not really an issue. But it comes into play when you have 4gb of DIMM ram and say 512 or 1gb of video RAM. Even using a 64bit OS, you will still only ever see 4gb minus the video ram.

With 64bit Vista on my Dell XPS m1710 with 4gb of ram and 512 of video ram, I still cna only allocate 3.3gb to applications.

A follow up to memory questions is why Vista "hogs" so much RAM. Well, it's a good thing:

http://www.codinghorro​r.com/blog/archives/00​0688.html (external link)


people will always try to stop you doing the right thing if it is unconventional
Full frame and some primes.

  
  LOG IN TO REPLY
tommykjensen
Cream of the Crop
20,886 posts
Gallery: 6 photos
Likes: 7
Joined Mar 2004
Location: Copenhagen, Denmark.
     
Feb 05, 2008 12:03 |  #7

cosworth wrote in post #4856599 (external link)
Also do not forget that laptop chipsets will not allow any addressing above 4gb. You can't usually install more than 4gb in a laptop, so this is not really an issue. But it comes into play when you have 4gb of DIMM ram and say 512 or 1gb of video RAM. Even using a 64bit OS, you will still only ever see 4gb minus the video ram.

Is this true for all laptop chipsets? Anybody know why? It doesn't make sense to me that just because it is a laptop it should not be possible to address more than 4 GB. I would love 8 Gb or more in the new laptop I am getting for work then I could run multiple VMware servers at the same time.


EDITING OF MY PHOTOS IS NOT ALLOWED

  
  LOG IN TO REPLY
cosworth
I'm comfortable with my masculinity
Avatar
10,930 posts
Likes: 11
Joined Jul 2005
Location: Duncan, BC, Canada
     
Feb 05, 2008 12:19 |  #8

As of today, yes all laptop chipsets are limited. I have yet to find one that addresses more than 4gb.


people will always try to stop you doing the right thing if it is unconventional
Full frame and some primes.

  
  LOG IN TO REPLY
Tony-S
Cream of the Crop
Avatar
9,903 posts
Likes: 201
Joined Jan 2006
Location: Fort Collins, Colorado, USA
     
Feb 05, 2008 16:36 |  #9

I'm pretty sure Santa Rosa chipset supports 8 gigs (MacBook Pros, some Win PC), but the problem is there are no 4 gig PC5300 DDR2 sticks for the 2 available slots.


"Raw" is not an acronym, abbreviation, nor a proper noun; thus, it should not be in capital letters.

  
  LOG IN TO REPLY
cosworth
I'm comfortable with my masculinity
Avatar
10,930 posts
Likes: 11
Joined Jul 2005
Location: Duncan, BC, Canada
     
Feb 05, 2008 17:02 |  #10

The 94PM chipset only does 4GB. The HP Compaq 6910p apparently does 8gb with a Santa Rosa 965GM chipset but I can't find too much on it. The same 965GM chipset is listed in other venues as being limited to 4gb.

With eight 32-bit floating-point execution units, I don't see it doing 8gb.


people will always try to stop you doing the right thing if it is unconventional
Full frame and some primes.

  
  LOG IN TO REPLY
Tony-S
Cream of the Crop
Avatar
9,903 posts
Likes: 201
Joined Jan 2006
Location: Fort Collins, Colorado, USA
     
Feb 05, 2008 17:10 |  #11

Jason - I don't claim to understand all the details, but on page 2 of this document (external link) it seems to suggest 8 gigs as the limit.


"Raw" is not an acronym, abbreviation, nor a proper noun; thus, it should not be in capital letters.

  
  LOG IN TO REPLY
BigBlueDodge
Goldmember
Avatar
3,726 posts
Joined May 2005
Location: Lonestar State
     
Feb 05, 2008 21:17 |  #12

Jason, I have a Lenovo T61p with 4GB RAM and a 512MB Video card runing Vista 64bit and I see the FULL 4GB of RAM on it. I'm quite sure that the latest gen of laptops can utilize the full 4GB and more. I can post a screen shot if necessary. I also have a Dell D820 with 4GB of RAM on it, but it is running an older chipset and it doesn't show me the full 4GB (I can only see 3.25GB)


David (aka BigBlueDodge)
Gear

  
  LOG IN TO REPLY
Tony-S
Cream of the Crop
Avatar
9,903 posts
Likes: 201
Joined Jan 2006
Location: Fort Collins, Colorado, USA
     
Feb 05, 2008 21:36 |  #13

BigBlueDodge wrote in post #4860418 (external link)
Jason, I have a Lenova T61p

That seems to use the Santa Rosa chipset, just like the MacBooks and MacBook Pros, so the link I posted above should be relevant to your computer.

http://www.geek.com/th​inkpad-t61p/ (external link)


"Raw" is not an acronym, abbreviation, nor a proper noun; thus, it should not be in capital letters.

  
  LOG IN TO REPLY
Zepher
Goldmember
Avatar
1,626 posts
Likes: 1
Joined Nov 2005
Location: Norfolk,VA
     
Feb 06, 2008 03:15 |  #14

Explain this,

IMAGE: http://www.transamws6.com/pics/pc/quad-server.jpg

Manny Desantos
Intel C2Q Q6600 3.06Ghz, 8GB Ram, 8.1TB, XFX HD5850, Windows 7 Ultimate 64bit, PS CS4 EXT (external link)

Canon 40D, EF 28-70L, 2x Canon XH-A1 HDV, Canon HV30 HDV
❶_______________

  
  LOG IN TO REPLY
silvex
Cream of the Crop
Avatar
7,307 posts
Gallery: 19 photos
Likes: 42
Joined Sep 2006
Location: Southern California, USA
     
Feb 06, 2008 06:40 |  #15

Zepher wrote in post #4861761 (external link)
Explain this,
QUOTED IMAGE

That means your motherboard is able to physically address over 4GB regardless of the operating system. The Physical Address Extension (/PAE) lets windows "see" over the 4GB limit.

http://www.microsoft.c​om …rm/server/PAE/P​AEdrv.mspx (external link)

http://technet2.micros​oft.com …bb042b31033.msp​x?mfr=true (external link)

Supported HW listing
http://www.windowsserv​ercatalog.com …s.aspx?bCatId=1​283&avc=10 (external link)


.
-Ed
CPS Platinum Member.
Canon Gear
SilvexPhoto.comexternal link

  
  LOG IN TO REPLY
sponsored links
(this ad will go away when you log in as a registered member)

58,310 views & 0 likes for this thread
-=FAQ=- Why don't I see all my RAM? The 4GB limit.
FORUMS General Gear Talk Computers 
AAA
x 1600
y 1600

Jump to forum...   •  Rules   •  Index   •  New posts   •  RTAT   •  'Best of'   •  Gallery   •  Gear   •  Reviews   •  Member list   •  Polls   •  Image rules   •  Search   •  Password reset

Not a member yet?
Register to forums
Registered members may log in to forums and access all the features: full search, image upload, follow forums, own gear list and ratings, likes, more forums, private messaging, thread follow, notifications, own gallery, all settings, view hosted photos, own reviews, see more and do more... and all is free. Don't be a stranger - register now and start posting!


COOKIES DISCLAIMER: This website uses cookies to improve your user experience. By using this site, you agree to our use of cookies and to our privacy policy.
Privacy policy and cookie usage info.


POWERED BY AMASS forum software 2.1forum software
version 2.1 /
code and design
by Pekka Saarinen ©
for photography-on-the.net

Latest registered member is Chiranjibc2019
839 guests, 306 members online
Simultaneous users record so far is 15144, that happened on Nov 22, 2018

Photography-on-the.net Digital Photography Forums is the website for photographers and all who love great photos, camera and post processing techniques, gear talk, discussion and sharing. Professionals, hobbyists, newbies and those who don't even own a camera -- all are welcome regardless of skill, favourite brand, gear, gender or age. Registering and usage is free.