Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

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 '14 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.

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 May 2 '14 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 '14 at 15:29

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 '14 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 '14 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 '14 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

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