Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

Does a 64 bit processor consume more memory (RAM) than a 32 bit one?

share|improve this question

closed as not a real question by Linker3000, ChrisF, Wuffers, Sathya Jul 6 '11 at 6:56

It's difficult to tell what is being asked here. This question is ambiguous, vague, incomplete, overly broad, or rhetorical and cannot be reasonably answered in its current form. For help clarifying this question so that it can be reopened, visit the help center.If this question can be reworded to fit the rules in the help center, please edit the question.

    
well.. I asked because I had a Linux Mint 10 32 bits which was using no more than 400Mo memory. And now my 64bit Linux Mint 11 eats 800Mo+ and makes the laptop's fan crazy. So I wondered if 64 bits is the reason :p –  lisa17 Jul 6 '11 at 10:38

3 Answers 3

up vote 4 down vote accepted

A processor by itself doesn't consume memory. It accesses memory using address of varying sizes. As a result, a 64-bit processor can address up to 17.17 billion gigabytes of memory whereas a 32-bit processor can only address 4.29 gigabytes.

If you meant, "Does a 64-bit application consume more memory than a 32-bit application?" then yes it does. Memory addresses in a 64-bit process are 8 bytes in length instead of 4 bytes. So while, you won't see a doubling of memory usage, those thousands of pointers used throughout the application will consume twice the memory they normally would.

32-bit addresses haven't been enough for a while now, and many computers now come standard with 4 gigabytes of memory which 32-bit processes can't actually address fully due to operating system and hardware memory mapping overhead. 64-bit addresses will keep us going for a very, very long time.

However, many people don't create proper 64-bit code and GNU/Linux is tweaked to support these failure. So in many cases, 64-bit applications run like 32-bit ones (mmap tweak): http://marc.info/?l=openbsd-misc&m=130683944229077&w=2. Developing true 64-bit code is something that people should work on.

Most consumer 32-bit processors are now no longer in production. Even with the extra memory usage due to 8-byte pointers and other aspects, modern 64-bit processors are by definition, newer and typically more efficient now than processors were back in the 32-bit days.

So in summary, the extra memory usage is a mostly irrelevant issue given the increase in standard memory sizes in today's computers and speed at which processors operate.

share|improve this answer
1  
Note: 64bits application may run slower since it takes more time to write down a 64bit pointer onto the stack than to write a 32bit one . So if it comes to swapping, 64bit programs will be slower. If you swap you need more RAM anyways so 32bit won't help ;). Of course if you have enough memory writing a 64bit pointer onto the stack will be as fast as writing a 32 bit one (a single instruction is needed and memory is accessed in parallel). Again, if the program gets swapper later, 64bit will be slower. –  lhjjlhklh Jul 5 '11 at 22:46
    
"32 bits CPU may consume less power, since they are older and less sophisticated." - I'd phrase that as "All else being equal, 32 bit platforms can inherently consume less power than 64 bit ones as there are much fewer transistors to switch state, which costs power.". I'd also like to submit that there are "new" CPUs out there that implement 16bit architectures and 64bit CPUs have existed for a long time - granted they're being adopted far more often in consumer general purpose machines these days. –  Doc Jul 6 '11 at 0:17

Yes.

But I have to type more to submit... Sigh..

Program A compiled as a 32 bit application has a smaller memory footprint than the same program, B, which was compiled as a 64 bit one. This is because each memory block has a larger address..

Example: suppose your phone book was all very local phone numbers, they'd probably just print the numbers without the area codes.. But to fit in more numbers/addresses, printing the area codes takes up more space/ink/mass, etc.

share|improve this answer
1  
The question isn't about 64-bit programs though, but about 64-bit processors. You haven't explained how they consume memory. ☺ See also the headnote at this answer which makes a very important point and that earned the answer a lot of upvotes. –  JdeBP Jul 5 '11 at 22:19
1  
I'm quite certain the asker, by "64 bit processor", actually means "64 bit system", so this question is about software in the end. –  jcrawfordor Jul 5 '11 at 22:27
1  
@JdeBP well no processor "consumes" memory. I mean, maybe a food processor having DIMMs shoved in to it. And while that is an awesome image, that's getting off topic. I'm happy with my answer. As jcrawfordor appears to agree, the intent of the question comes down to the software implications. Though I'm starting to hope a food processor was in mind afterall. –  Doc Jul 5 '11 at 22:30
    
well.. I asked because I had a Linux Mint 10 32 bits which was using no more than 400Mo memory. And now my 64bit Linux Mint 11 eats 800Mo+ and makes the laptop's fan crazy. So I wondered if 64 bits is the reason :p –  lisa17 Jul 5 '11 at 22:38
    
@brahims - wow that sounds excessive. I would expect, all else being equal, the 64 bit version to generally incur greater overhead. Still, that sounds like there's more going on. –  Doc Jul 5 '11 at 22:40

64-bit programs have somewhat higher memory usages because of optimization issues, but the effect is not significant in practice. The benefits of a 64-bit architecture with 64-bit software, such as a far higher memory addressing capacity, far outweigh the increase in memory usage in almost all situations.

share|improve this answer
1  
I disagree. As my answer states the same program but compiled as a 32 bit application (rather than 64) requires less memory. If you don't need the full 4GB address space alloted by 32bit AND you don't have to perform much high-precision math, then 32bit CPUs will be faster, consume less power and use memory more efficiently. An example of such an application is an average web server. I run many web servers on VMs and indeed this is where I came to understand there is a place and time for 32bit, in the modern world. –  Doc Jul 5 '11 at 22:33
    
It's very true that 64-bit applications will take more memory (I've seen increases in the range of 50%!) but the memory cieling for 32-bit is actually much lower than people expect, at 2GB of application memory with extension to 3GB only with special support and plenty of caveats. I think virtually all desktop users going forward will benefit from the increase in memory availability, and of course desktop users are what this website is about. –  jcrawfordor Jul 6 '11 at 22:28

Not the answer you're looking for? Browse other questions tagged or ask your own question.