4

I read on Wikipedia that Windows 7 on a 64-bit PC needs twice as much RAM as on a 32-bit PC.
I understand why is that: every number stored in memory takes 8 bytes rather than just 4.
That, in simple terms, means that your amount of RAM is reduced to half when you use Windows 7 on a 64-bit computer.

Now, I have a Intel Core 2 Duo Laptop with Windows Vista right now (2 GB of RAM).
My question is:
Since Core 2 is a 64-bit architecture, if I upgrade to Windows 7 will my laptop be working as if it had just 1 GB of RAM?

Or... to say it in other words:
Having a 64-bit PC with Windows 7 do you need twice as much RAM as you need on a 32-bit PC to have the same performance?

If I am right, then I'd say it's a terrible business to have a 64-bit computer and Windows 7 on it (I hope I am mistaken, though).


Follow-up:
After some answers, I'm realizing it's not the same thing to have a 32-bit OS on a 64-bit PC than a 64-bit OS on a 64-bit PC.

Apparently, the problem of Windows 7 requiring twice as much RAM on 64-bit architectures is when you have both the OS and PC supporting 64 bits.
I'd like new answers to address this issue.
Also, is it possible to have more that 4 GB of RAM on a 64-bit PC using a 32-bit version of Windows?

GetFree
  • 3,230

6 Answers6

19

That is a terrible misunderstanding. Yes, your applications might take up a little more RAM, but overall, it will hardly be noticeable; they certainly won't take up twice as much memory. No one would switch to 64-bit if that was the case.

You'll be completely fine with 2GB of RAM on a 64-bit Windows 7 machine.


Per your followup: I don't know where you heard this rumor about Windows 7 taking up twice as much memory, but it's completely false. There is absolutely no way for a 64-bit OS to take up twice as much memory as a 32-bit OS. It doesn't matter what hardware you have on your computer.

The main advantage to having a 64-bit OS is the ability to use more than 4GB RAM. On top of that, any applications written specifically to take advantage of 64-bit processors are going to be slightly faster than their 32-bit counterparts. Other than that, there is really no major difference between the two. So I would say you probably don't need a 64-bit OS, although I would still recommend installing it because there's no reason not to.

8

Only pointers use the double amount of RAM. All other memory content is the same as it was. And pointers make for just small fraction of memory usage.

However, with only 2 GB of RAM, you better have some other reason to want 64-bit. You almost get no benefits of 64-bit OS with that amount of RAM. The only two scenarios I can think of where 64-bit is required are Hyper-V (which will not be happy with RAM) and need to test something.

I would either upgrade RAM or stay with 32-bit.

Josip Medved
  • 8,909
2

In your reading: you have come across the following two facts:


  • 64bit Windows 7 has a stated minimum requirement of 2GB of memory.
  • 32bit Windows 7 has a stated minimum requirement of 1GB of memory.

and

  • 64bit OS uses pointers that are twice as big (64 bits vs 32 bits)

Those are both true statements, but the conclusion that you draw from them is wrong: namely, that the 64bit version consumes twice as much memory as the 32bit OS.

What the 64bit version gives you is a larger maximum address space. Its like doubling the number of digits in your zip-code. It requires a little more space, but that doesn't mean that your file cabinet needs to be twice as big! Your letters, photos, tax documents, and all the other things that are not addresses did not change size!

The minimum required memory is twice the size, but the average usage on startup is pretty close (~500MB vs ~600MB). And the under similar heavy usage(around 2.5GB), the consumed memory is almost the same.

yhw42
  • 2,267
2

It's a misconception. I've been running a 64 bit version of Vista (and more recently Windows 7) for about 2 years. Vista 64 runs ok with just 1 GB RAM; there's no real difference between a 32 bit OS and a 64 bit OS when it comes to memory consumption.

On the other hand, if you have a 64 bit OS, some apps might actually be faster, if they are also 64 bit (for example, 7zip and WinRAR have 64 bit apps that are faster than the 32 bit ones).

alex
  • 18,247
0

ANALOGY

32 bit = 32 liters per second (for example water pump) 64 bit = 64 liters per second (same example - water pump)

you need a pipe out of the water pump to deliver the water (either 32liters or 64 liter capable pump)

RAM = Pipe (size) 1G RAM = 1 inch diameter pipe 2G RAM = 2 inches diameter pipe 4G RAM = 4 inches diameter pipe 8G RAM = 8 inches diameter pipe

Now,

If a machine needs 32liters of water/second... the 32 liter machine can deliver. If a machine needs 64 liters of water/second ... the 32liter machine can deliver using 2 inches pipe but not with 1 inch pipe...the 64 liter machine can deliver that using the 1 inch pipe.

Jump to :

What if a machine needs 512liters/second???

The 32liter machine can only deliver only a maximum of 256 liters/sec using the 8inches pipe.

The 64liter machine can deliver 256 liters using using only the 4 inches pipe.... but the needs is 512 liters, so we need to use 8 inches pipe to meet the 512 liters/ second.

NOW. 32 liters machine are not capable of using the 4 inches pipe... but the 64 liters machine can use up to 8 inches pipe.

Hope this analogy, enlightens the non-techies.

cheers.

voltz
  • 1
-2

I'll answer my own question with an answer I was given on another website:

http://www.computing.net/answers/windows-7/why-windows-7-64bit-requires-that-much-ram/173.html

Response number 3 on that page is the one I like:

Yes, it will require more memory from time-to-time, but it's not cut & dried. The reason M$ is suggesting at least twice as much memory is to allow for adequate contingencies since your 64-bit Windows comprises 32-bit libraries as well as 64-bit libraries for 32-bit app compability ... see below.

"The main disadvantage of 64-bit architectures is that relative to 32-bit architectures the same data occupies more space in memory (due to swollen pointers and possibly other types and alignment padding). This increases the memory requirements of a given process and can have implications for efficient processor cache utilization. Maintaining a partial 32-bit model is one way to handle this and is in general reasonably effective. In fact, the highly performance-oriented z/OS operating system takes this approach currently, requiring program code to reside in any number of 32-bit address spaces while data objects can (optionally) reside in 64-bit regions."

http://en.wikipedia.org/wiki/64-bit

GetFree
  • 3,230