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.

This question already has an answer here:

My knowledge of computer hardware is fairly extensive, however it is apparent that this is not the case when considering types of operating systems. I've gone by the rule of thumb for years that if a machine is over 4GB, install a 64bit version in order to use all that memory, and the opposite for choosing 32bit operating systems.

In my latest purchase of a processor, I've noticed explicit detail highlighting the processors' architecture; "32bit" or "64bit". I know this has relevance to how many bytes can be stored in registers for memory addressing, but does this play part in when considering an OS, too?

For example, if your CPU is 64bit but you have 2GB memory, shall you choose the 32bit version of an OS? According to this question, the answer is yes. Can someone please explain this to me, if you have the time?

I would like to know the affects of installing a 32bit system on a 64bit system with 2GB, and what role the capacity of memory really has when choosing 32/64bit hardware and software.

Edit I've correct a mistake in paragraph 3 of the question.

Edit v2 Whilst, indeed, this is a duplicate, I did search for similar questions and that question linked above was not in the results. I blame the searching algorithm, not my now perceived laziness.

share|improve this question

marked as duplicate by Bob, slhck May 2 at 15:50

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

1  
In my opinion, there's really no reason not to run 64-bit Windows. You may have only 2GB of RAM now, but why put a limitation on yourself in the future? Having a 64-bit OS already installed will make it much easier to upgrade RAM in the future. –  Josh R May 2 at 15:26
    
Considering 99.9% of processors on the market today are x86-x64 processors I don't understand the question. There are very few Intel nor AMD x86 products on the market today. AMDX64 is an extension of the Intel x86 extension. This means that anyone that uses one of these processors and puts a 32-bit operating system is putting a 32-bit operating system on an Intel x86-AMD64 or AMD x86-64 processor. I won't even mention 64-bit ARM processors for obvious reasons. –  Ramhound May 2 at 15:29

3 Answers 3

Note that there aren't really any standard 64bit processes in the PC market; they are all EMT64/AMD64, which is just an extended-memory x86 architecture, unlike intel's old IA64 architecture, or some of the more obscure server architectures like SPARC.

So, an x64 CPU is not so much 32bit AND 64bit as it is an x64 processor with an instruction set that will work fine for either 32 or 64bit OS's. Its the OS that is the primary concern when it comes to accessing extended memory.

There are lots of good reasons to use x64, including memory access and virtualization (you can only run virtual x64 os's on a x64 system with vt-x).

The only good reasons to use an 32bit OS specifically are devices with 32bit drivers only, and applications that statically link to 32-bit dependencies.

share|improve this answer
    
I wouldn't call IA64 "old" considering its as old as the x86 extension that AMD itself developed then licensed to Intel because the idea of having to rewrite 10 year old software wasn't something that the market wanted to do. –  Ramhound May 2 at 15:34
    
Fair enough. I've considered IA64 dead for almost 8 years now, and by "old" I meant that it is long in the past, but you are correct, it is not chronologically older than x64. –  Frank Thomas May 2 at 16:25
    
The reason I made the comment is because up until 2012 MS still supported Windows Server on IA64. I think its Oracle or one of those server companies was sued in order to continue to support it because they "dropped" support even though they had no new hardware planend or released new hardware in years. –  Ramhound May 2 at 17:19

I have a computer with a 64-bit CPU and 4GB of RAM. I did notice a memory improvement when I switched my Linux from 64 to 32 bits. I did so because I frequently ran into memory issues when running several programs at the same time, and I've read it could help. It indeed helped, though eventually I hit some memory limits on it as well.

Then, I started having compatibility issues due to having a 32-bit OS installed, namely the fact that I couldn't compile Android without a virtual machine. So I changed back to 64-bit. I still feel a bit extra of memory pressure, but at least I can run software made for 64-bit only machines. I don't believe you'll want to compile Android with 2GB of RAM anyway, but check if you have something with such dependencies before switching.

I am inclined to say that 32 bits would help you due to extra memory (32-bit pointers versus 64-bit pointers and that sort of thing), but be aware of dependencies concerning 64-bit only code. There are not so many, but when they happen, you're stuck with them. On the other hand, using 32-bit software on a 64-bit OS is mostly without issues due to backward compatibility efforts.

share|improve this answer

A 32 bit application can point to at most 4 gb of ram. If an application needs more ram, then it should be 64 bit.

If you have less than 4 gb or ram in your system, you still won't be able to run applications that demand more than 4gb(usually those are the 64 bit once), so there is no point in installing 64 bit if you have less than 4gbs of ram. That is the reason why new iphones' 64 bit processors were criticized.

Moreover, if the OS is 64 bit, it might expect that you have at least 4 gbs, so it might slow down overall experience.

share|improve this answer
    
No. There's more than just memory involved. A processor operating in long mode has access to more registers, for one, so certain types of math can be faster (though not with general use, true). –  Bob May 2 at 15:32
    
@Bob I pointed out the reason, which I think is the most important in this case. –  khajvah May 2 at 15:33
    
While some of thise answers is correct enough of it is not correct. 64-bit ARM processors are an entirely different beast compare to the x86-AMD64 processors. There are tons of advantages for software on a phone to have access to 64-bit registers instead of 32-bit processors. There is also a grammar error which I don't find acceptable. –  Ramhound May 2 at 15:40

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