Does 4GB ram limit in 32 bit include video ram?

Created by EkajArmstro on March 15, 2012, 7:11 p.m.
  • Yes it does; The RAM limit is really an address space limit; after 4GB, the OS simply cannot address any more bits. There's a great post over on Tom's Hardware about it, but it boils down to:
     

     Main Memory = 4GB - 256MB - GFX card RAM - Other Devices

    Assuming a 1GB Graphics card and no other devices that require address space, you get (4GB - 256MB - 1GB = 2.75GB RAM). Note, the 256MB is typically lost due to various low level Motherboard devices (PCI/PCI-E Bus, ect.), and can vary greatly depending on the motherboard.

  • @Mirado:  I'm not confident in that information source. I'm pretty sure that the GPU's memory is not directly addressable by the CPU (not all of it is mapped to the system memory). For example, my GPU has 640 MB of its own memory. However, it only has about 300 MB of my system's main memory mapped to it:
     
     
     
     
     
     
     
     
     
    On the other hand, I may be completely incorrect.
  • @CROM:  Granted, the source I used isn't really trusted or even redundantly verified; furthermore I know just as much as you (which is to say that I can also be totally wrong).
     
    But this article from Gamasutra is more trusted, and states something similar. The whole amount of memory isn't mapped (300MB or so, like you said), but the problem actually stems from the 2GB limit that each process is bound to. This is complex enough to start going over my head, so I think I'll live the OP with solid "maybe" and a strong suggestion to upgrade to 64 bit simply because it takes away these headaches and is quite simple to do.
  • Isn't it a basic rule of thumb to Always Be 64bit OS if you have 4+GB of RAM? 
     
    Is the missing .5 from the OP's system taken up automatically by system devices (ie - his video card)? So the OS and anything running on the system would have the rest to play with?
  • I remember delving into all the reasons for this when I had upgraded to 4GB of RAM on a 32 bit OS (I knew I'd not be able to use all of it, but I wanted to know why I couldn't :P), and I do think it's something similar to what Mirado outlined when talking in very simple terms, but the reality is that it's much more involved... I don't remember much of what I read b/c it was extremely programm-y (that's totally a word :P) and high level and my brain hurt a bit from all the reading (lmao).  Anyway, yes having a dedicated graphics card will cut into the amount of RAM that your able to use when using a 32bit OS, but only to a certain extent, and in certain situations. 
     
    It's basically a question where the only correct answer that you'll be able to get is "maybe" as there is so much involved under the hood.  Now if you got extremely OCD-like specific, you may be able to get a yes, because... answer but by that point, if you were able to ask such a question... you'd already know the answer!  See what i'm getting at?   
     
    Sorry I can't help more.
  • It's not a shared pool of memory. You don't need a 64bit OS to take full advantage of a 2gb GPU even if your game or application is using all available system memory if you have 3.5gb addressable.
  • True, but that's not what the OP was asking, he wanted to know if the amount of system memory was reduced by having a dedicated video card w/ 2 gb gddr
  • The amount of system ram is reduced but its not directly tied to the onboard (on gpu) memory. The system maps some memory to the device driver in order to send it geometry anne other workloads, the gpu us the only thing mapping its onboard ram. Use the 2gb card without worry but the 64bit OS is still worth the tiny difference in price just to not have to buy again later. The price difference for 64bit was 0 when I bought my copies, if you look around the same should still be true.
  • right.   
     
    As for price differences, Windows 7 and Windows Vista license keys are good for both 32 and 64 (but not both activated at once obviously) bit installs.  The only problem is that not everyone has both a 32 and 64bit installation/upgrade/OEM disc as it is sometimes an either/or in what manufactures include.  But if you can find a 64 bit install disc (borrow one from a friend, there at least used to be legal downloads of windows vista and 7 isos from MS available online, ect) and use your existing license key it should work.  The only issue may be in OEMs like HP or Dell are doing some crazy stuff with letting you activate the key, but afaik MS has stated that each key is good for 32 and 64 bit installs, as long as everything else in the license agreement is complied with (only 1 install per key, ect).
  • O.K. There seems to be a lot of conflicting information here, and a lot of odd misconceptions The answer as always is somewhere in the middle, so heres my attempt at an answer: 
     
    It depends entirely on your motherboard. 

    A lot of people in this thread are right in saying that it is an addressing problem and not a memory problem.  
     
    Essentially there is a maximum amount of memory your computer can "see" at any given time, and your video card's memory is "mapped" into this window of see-able memory (This is called Memory Mapped I/O). When it's mapped into this window it takes up a chunk of it and the operating system can't use that chunk to see into your physical memory. So if you say have a 4GB address space, and a video card with 2GB of memory, that memory will be mapped into 2GB of that address space leaving only 2GB for the operating system to use for real RAM.

    However, Not all 32-bit processors are limited to a 32-bit address space, newer motherboards and 32-bit CPUs (and by newer I mean newer than 1995) introduced PAE, or physical address extension, that allow an x86 32-bit processor to address up to 64 GB of RAM. As long as the operating system supports PAE (which all modern operating systems do) and you have a motherboard that has a chipset that can address more than 4GB, than you can address more than 4GB. (The motherboards memory limits are published with the motherboard).
     
    With PAE this whole "video card taking up memory" problem can be avoided by the motherboard by employing what is called "memory remapping". Essentially, because more than 4GB can be addressed, the motherboard re-maps the addresses of memory (or Memory Mapped I/O Devices) to addresses beyond the 4GB address barrier, avoiding the problem all together. (You can check if memory remapping is enabled by poking into the bios, I believe it is enabled by default by now)
     
    So in short it falls into two categories:  
     
    1) You have a motherboard and cpu that support PAE and memory remapping: Then no, that 2GB video card will not impact the amount of RAM your OS can address. (Most likely the case if you have a computer build within the last 5 or so years)
    2) You have an incredibly old motherboard and cpu that don't support these things: Then yes, you would notice that 2GB of your RAM was "missing" and windows would report only being able to address 2 GB of RAM!  (You have a really old computer)
     
    Given your situation, I bet you are in situation 1 and are good not to upgrade if you don't want to.
  • @LtSquigs: thanks for chiming in.  I'm reminded of a blog post or something you did a long time ago about this, right? :)
  • @ekajarmstro: Oh wow, I probably still have a super old joystick from back when computers still had those game ports :P
  • @WolfOfOne: I had a blog post that is a little related to this. It was explaining what virtual memory is and how it relates to virtual address space, I side stepped the PAE issue though because It would have complicated things.
  • @LtSquigs:  Big thanks for clearing that up. You learn something new everyday, which is ironic as I'm in class and haven't picked up a damn thing beyond what you just said! :D
  • @LtSquigs: Ah okay, that's what I was thinking of when you started talking about PAE
  • @nightbird: 
    Dude He does not need to buy anything the cd key that he has  will work with the 64x as will as 32x all he needs to do is get 64x version install disk and reinstall the O.S that he was licensed for. I know it will work because I did this myself because I started out using 32x win 7 pro with only having only 2 gig of ram. When I upgraded my system to 4 gig I did fresh install of win 7 pro 64x version and activated it with the same key that I used for the 32x version. 
  • @fwagner I missed that he already had windows 7 32bit. My mistake, yes feel free to grab the 64 bit iso whenever you feel like reinstalling.  
     
    This is what happens when you read too many threads and only answer one of them a day later.  I read this Sunday and was considering posting but I wanted to think about it more.  I already knew the keys worked because I have done several 32bit-64bit upgrades on the same key.  (upgrading friend's PC's when they get more ram/GPU)

  • @nightbird:  Thats cool I miss pieces of info myself in posts we are all human you know