If I search on Internet for minimum requirements to install a 64-bit operating system, Microsoft and allied forums recommend 4 GB RAM as the minimum criteria. On the other hand, when I look at Linux communities and say I have Dual Core Processor and 2 GB of RAM they say it's a 64-bit processor and you can go for 64-bit OS for efficiency. Now my question is what matters to install a 64-bit OS? Just RAM or anything more?
Whether 64-bit is good or bad for performance depends a lot on the application. Generally speaking:
However these are only very rough guidelines, there are a lot of exceptions.
Windows guidelines tend to steer people away from a 64-bit operating system because there are more incompatible applications. Linux was ready for amd64 earlier; the few remaining incompatible applications are mostly closed-source and run fine as 32-bit executables on a 64-bit kernel with the appropriate 32-bit libraries.
On Linux, here are some guidelines:
The 4G minimum has nothing to do with the requirements of the OS, it is about efficiency. 32 bit systems, by nature the address values needed to talk to the memory being shorter, are actually more efficient up to a point.
32 bit systems can only address up to 4G of memory at a time. On modern linux kernels, this limitation is per process, so even a 32 bit OS can use more RAM but it accomplishes this by having each application only address up to some 4G block partitioned off from the whole stash.
Where 64 bit comes in is that it can offer processes the ability to address the entire system memory at once, allowing memory hungry things more than 4G if they need it. However it comes with a trade off. Since it uses more bits to save and handle addresses, the machine code gets bigger and runs just a tad slower.
Hence you can run a 64bit OS on 2G just fine, but it doesn't really make sense to because a 32bit OS is likely to be faster on the same system. Even when you cross the line into larger RAM, it is still possible that a 32 bit system will be faster because it is rare for any individual process to need that much RAM, more often you want to run lots of processes that all use some piece of the RAM.