Clearing up the 32/64-bit memory limit confusion

Clearing up the 32/64-bit memory limit confusion

Summary: Today Dwight Silverman ran a great piece on TechBlog which examines whether folks buying a new PC are best sticking with 32-bit Vista or making the leap to 64-bit Vista. It's a good piece but there's one bit that I feel deserves some clarification.

TOPICS: Processors, Hardware

Today Dwight Silverman ran a great piece on TechBlog which examines whether folks buying a new PC are best sticking with 32-bit Vista or making the leap to 64-bit Vista. It's a good piece but there's one bit that I feel deserves some clarification.

Dwight says:

Vista x64 can use more memory than the 32-bit version, which is limited to 4 gigabytes.

The problem with this statement is that it gives the impression that the cut off point when it comes to memory lies at the 4GB mark. Less memory than this and you're fine with 32-bit, but any more memory and you need a 64-bit OS to make advantage of it. The confusion arises because people take the term memory to mean RAM, and this can lead to some expensive mistakes as people buy PCs loaded with 4GB of RAM and a 32-bit OS, only to later realize they can't make use of all the RAM they bought.

The 4GB limit refers to total addressable memory space and not just the RAM installed. It's a total made up of system RAM, graphics RAM, PCI memory range, ACPI and a few other bits and pieces. And if you think that your system RAM is the only significant factor, think again. You can buy graphics cards fitted with 1GB of RAM, and if you wanted (and had the spare cash!) you could fit three of these into a system. There's not a 1 to 1 relationship between graphics memeory consuming system RAM, but the larger the memory, the more the card sets aside for itself. Now that 4GB limit doesn't leave you a lot of space for system RAM. For more information, check out an excellent post by tech guru Mark Russinovich. Here's a small extract from Mark's blog:

The consumption of memory addresses below 4GB can be drastic on high-end gaming systems with large video cards. For example, I purchased one from a boutique gaming rig company that came with 4GB of RAM and two 1GB video cards. I hadn't specified the OS version and assumed that they'd put 64-bit Vista on it, but it came with the 32-bit version and as a result only 2.2GB of the memory was accessible by Windows. You can see a giant memory hole from 8FEF0000 to FFFFFFFF in this Meminfo output from the system after I installed 64-bit Windows.

Note: Wondering how we arrive at that 4GB limit? Here's the math for 32-bit systems:

232 = 4,294,967,296 bytes 4,294,967,296 / (1,024 x 1,024) = 4,096 MB = 4GB

It's different for 64-bit:

264 = 18,446,744,073,709,551,616 18,446,744,073,709,551,616 / (1,024 x 1,024) = 16EB (exabytes)

On system fitted with 4GB of RAM and a modest graphics card with 512MB of on-board memory the end user normally sees about 3GB of installed system RAM. So what this means is that the realistic upper RAM limit for a 32-bit OS is more like 3GB. If you're adding big graphics cards with larger amounts of RAM (or using Crossfire or SLI) then you'll need to be seriously thinking about a 64-bit OS much sooner.

Dwight's also posted his Holiday PC spec list, which is also a good read. My only complaint there is that I think that Dwight is being too agnostic when it comes to recommending CPUs, especially at the power user end of the spectrum - the AMD's Phenom really doesn't belong in the same list as Intel's powerhouse CPU, the Core i7. Dwight also suggests Intel Celeron CPUs at the lower end, something which I would now avoid.

Topics: Processors, Hardware

Kick off your day with ZDNet's daily email newsletter. It's the freshest tech news and opinion, served hot. Get it.


Log in or register to join the discussion
  • You might want to re-read your article.... :P

    Good points though. Next upgrade i make will be to vista 64bit. I now have the hardware... just need the will.
  • It also turns out

    that 64-bit sees a speed boost on Intel chips because of the architecture of the chips (it has to do with registers), so moving to a 64-bit OS will also give you speed boosts.
  • That's a very very good point.

    That's a very very good point. It cleared up some confusions I had. I actually thought it only had to do with the system-RAM. But now, it's getting even more ridiculous. So essentially. If you buy one of these new monster graphics cards with 512 or 1 GB of RAM. You are an idiot if you use it with a 32 bit system. I guess Windows 7 will convert allot of people over to 64bit.
    I'm seriously thinking about 64bit with Windows 7. I guess it's about time we finally make the jump. Whether we need it it not. Thanks for a great article.
  • How many people still refuse to upgrade the hardware

    ... and then turn around drinking Linux or OSX koolaid b/c they seem to run on subprime hardware.
    • For some there's no need

      The PowerPC architecture used by Apple until recently was 64bit capable from the start, even though OS X wasn't fully 64bit until version 10.5 (Leopard). The fact that PowerPC-based systems happily ran 32bit operating systems (not limited to OS X, e.g. there are versions of NT, UNIX and Linux that run on it) doesn't make them "subprime". In general, for the same clock speed, PowerPC was significanlty faster than the Intel equivalent - you may recall that the top 3 game consoles all use PowerPC chips.

      What stopped Apple's use of PowerPC was that the development of desktop versions had stalled and Intel provided better bang-for-buck. Sever and game console variants are still ahead of the competition. AMDs processors have (or had, I'm not really up to date on them) a very similar architecture.

      The current Intel chips used by Apple are also all 64bit capable, so I really can't see your point.
      Fred Fredrickson
      • Yes

        You don't really see his point.
        • Hoo boy.

          Yes Mr. Superhobo, you're right, Mr. Fredrickson most definitely is confused: a rambling reply that seems like it belongs in another article or something. What the heck do you mean, Mr. Fredrickson, you don't see the point? He's saying if you have 4GB RAM in your 32-bit OS and you're running a 1GB video card, you don't have 4GB RAM, you have 3GB RAM. He's saying there's a discrepancy between the advancement of video cards and the advancement to 64-bit OS's which will let the system use ALL its available RAM regardless of video card(s). Point isn't complicated, writing wasn't unclear. So wake up. :)
    • Boohoo

      "My Pentium 4 doesn't run Vista fine. It used to run
      XP great so it MUST run Vista too. But its too
      sluggish. Time to buy a Mac"

      And then they spend about $2000 on a Mac...
  • Don't forget PAE if talking memory.
    • PAE is no help on MS consumer OS

      Not as a way to get past the 4 gig barrier. On a current MS consumer OS it's 64 or nothing if you really want to use 4 or more gig. It once was possible with PAE, XP 32 for a time could supposedly use quite a bit more memory than 4 gig if you used the PAE switch, but MS got rid of it because of system crashes due to drivers not working correctly with it - or so the story goes. Read Mark Russinovich's blog on the subject for more details.

      On MS server OS I believe it is still possible.
      • True, but...

        my recent purchase of Server 2008 and usage of Linux brought PAE to my attention. I'm not even sure it is all that useful since it appears the OS kernel is still only using about 3.2 GB out of 4. But it is available to some so I brought it up.
  • RE: Clearing up the 32/64-bit memory limit confusion

    Someone I thought was exerienced purchased 4gb for his work machine (that previously had 1gb on XP). I had to draw him diagram to explain why he was only seeing 3gb!
  • 64bit hardware?

    One of the (few) benefits of Vista Ultimate is that you get the right to use either the 32 bit or 64 bit version. However, I haven't found it very easy to figure out if your current hardware can run x64...

    Is it mainly just the cpu model that matters?
    • True you need a 64-bit CPU ...

      ... but almost all of them are nowadays. (Download CPU-Z - - and look for EM64T instruction support on Intel or AMD64 for AMD CPUs)

      What's more critical is having driver support for the hardware you plan of running on the 64-bit OS. If you are going to run into hassles, this is where they will happen.
      Adrian Kingsley-Hughes
      • thanks - neat gadget

        Now that makes it easier...
      • But that's not all you need...

        The chipset (the northbridge in particular) also needs to bring out enough address lines so you can actually have a physical (as opposed to virtual or logical) address space large enough to matter.

        It's only been recently (the last couple of years) that chipsets brought out enough address lines to matter.

    • You don't need Ultimate.

      Along with any version of Windows Vista, there's instructions for obtaining either the operating system on CD's or the 64 bit version of any edition, even Home Basic.

      However, beyond what the article mentioned, different versions of MS 64-bit OS'es have different memory limits. All 32 bit OS'es can only manage 4 GB of memory MAX including address space for graphics etc. Here's how the 64-bit OS'es differ:

      XP Pro x64 - 128 GB
      Vista Home Basic - 8 GB
      Vista Home Premium - 16 GB
      Vista Business - 128 GB
      Vista Enterprise - 128 GB
      Vista Ultimate - 128 GB

      So yes, just when you thought you had it all figured out, it turns out that there's another monkey wrench in this whole thing.
  • But why 64 bit?

    Sure, I can see the physical limitations of 32 bit addressing, but why did the industry make the huge jump all the way to 64 bit? I mean, going to "40 bit" would have taken care of things for a LONG time, wouldn't it? That's 1 Terabyte of addressable memory, after all.

    No, I'm not of those people who thought 640KB should be enough for everybody. I just don't understand the enormous leap to 64 bits, which I would assume creates more system overhead.

    Also, just curious: how many of you are running apps that are consuming 3GB of memory? I do some fairly serious HD video editing, and worst case my Vegas program eats far less than a gig.
    • Because 64 is after 32 in powers of 2 (NT)

    • I usually max out 3GB with multiple apps...

      ...if they are all running at once. The project I currently work used IBMs RAD dev environment which can use anywhere between 300-600 MB RAM, then add a websphere server running the entire system that we're building which can usually reach up to about 1.5 GB RAM. There goes about 2GB. The you have DB2 processes, other Java apps, multiple IE windows (we can't use IE7) for web apps that don't work in Firefox (some of these can use stupid amounts of RAM), Firefox for other browsing needs such as selenium add-on for testing the application, Outlook, Mainframe console, etc etc

      All the apps towards the end start chewing up small amounts that all add up so as I type this I have 2.5GB RAM in use & 2GB Page File in use...

      Its easily done if you don't want to open & close apps all the time...