I am aware that 32 bit operating systems cannot make full use of a 4GB installation, however is that extra .5 GB in any way useful when using 64 bit? Doesn't the double word length of memory pointers wipe out the difference? Would 6GB or 8GB be more prudent?

migrated from serverfault.com Aug 12 '09 at 19:19

This question came from our site for system and network administrators.

  • too much of an open ended question. 4gb is enough to boot the OS, but what are your requirements. eg. If you told me this was for a server that's going to run SQL Server, then the answer would be NO – Nick Kavadias Aug 12 '09 at 10:59
  • The title doesn't really match the point of the question. But its not a bad question in itself. – JamesRyan Aug 12 '09 at 11:20
  • @Nick, doesn't that depend on what the SQL Server was going to be used for? – Svish Aug 12 '09 at 12:00
  • My laptop run Ubuntu Jaunty 64 bit with 4Gb of RAM, and I chose the 64bit OS because 32bit OS would waste the RAM. – Selinap Aug 12 '09 at 12:06
  • It's simply not true that a 32bit OS can't handle 4 GiB! What a myth. PAE has been around for years and works and is supported by any self-respecting OS. Probably the only relevant OS that doesn't have PAE is Windows XP Pro. The ONLY reason for going 64bit is when you have a single app that needs to address more that 4 GiB! – Anonymous Aug 12 '09 at 13:15

It doesn't matter, 64-bit just allows you to address more memory space. Your memory requirements should be more constrained on what you are planning to do with said system.


You may not even need 64-bit. When it is said that 32-bit can not take full use of 4GB of memory, that is true, but only on a per process basis. Not many processes want that much memory with the exception of database servers.

You Probably Want PAE:
What you may want is an OS that supports Physical Address Extension (PAE). With something like Ubuntu all you need to do is install the 'ubuntu-server' package and you will get the PAE enabled kernel, which will let you use over 4GB, just not for a single process.

  • Sure, but remember PAE brings to some performance degradation as it introduce an additional memory lookup table in order to "expand" the address space being available and addressable – drAlberT Aug 12 '09 at 14:00
  • 1
    Can't remember that because I didn't know it, going to go read about that, thanks :-) – Kyle Brandt Aug 12 '09 at 14:19
  • Also, you can only do this with CPUs that support it. I think most Intel CPUs do, but there are a few exceptions. – nagul Aug 12 '09 at 19:24
  • My first thought was that PAE would have a slight software performance penalty, so it'd be interesting to know for certain. Particularly because I've harboured the rule of thumb that ~3.5GB or more necessitates a 64-bit OS. But no pressure Kyle... – sblair Aug 12 '09 at 19:48
  • 3
    If your system supports 64bit, run 64bit. Try to get ahead people, tha myth that "don't use 64bit if you don't have 4GB RAM" is old and it's the same as keeping on using IE6 to browse the web because it 'works'. 64bit is a much better architecture and the speed boost is noticeable. – LiraNuna Aug 12 '09 at 20:26

Short answer yes, 4GB is sufficient for a 64bit OS.

What OS are you talking about? Or are you talking about all general OS?

It also depends on the application of the OS. More Ram would be suitable for heavy servers etc.. while 4GB is plenty for a desktop.

  • 4GB is plenty for a desktop until you run IE or firefox or flash or other modern bloatware on it. then you'll find that such programs want a GB or two each, all to themselves. plus it's nice to have extra RAM in a desktop for VirtualBox. – cas Aug 13 '09 at 0:20
  • 1
    What are you talking about, Craig? I've only got two gigs of RAM, and Firefox (with 23 tabs open) is taking up 263 mb. VirtualBox is a very ligit point though; I'm also running a basic Ubuntu development environment in VirtualBox w/ 512mb ram allocated to it, and I can see how more memory could only help if you wanted to get fancy with it. – JamesGecko Aug 13 '09 at 4:12
  • my current firefox (actually, iceweasel which is what ff is called on debian) is using 857MB of ram. 12 windows open, average of about 8 tabs per window. i just closed down about 10 windows that i hadn't looked at for a few days. firefox is 3.5.1 – cas Aug 14 '09 at 8:54

As you notice, differences are wiped since you have longer pointer types. However, 64-bit with 4 GB enables you to expand at later time. Also notice that address space of process is enlarged so single process can use more memory (limited to atmost 4 GB in 32-bit, usually way less - 2/3 GB for Windows) - whether that memory is physical or supported by page file.

Also, even with less memory, there are applications that require 64-bit - some hypervisiors come to mind as example.

I would go with 64-bit OS provided that driver support is not an issue (yes, all your drivers need to be 64-bit).

  • 1
    Your wrong. Please read en.wikipedia.org/wiki/Physical_Address_Extension – Anonymous Aug 12 '09 at 13:18
  • You need 64 bit apps to access more than 4GB of RAM – freedom_is_chaos Aug 12 '09 at 13:42
  • You need 64 bit to have more than 4GB of address space. – liori Aug 12 '09 at 14:24
  • @freedom_is_chaos - it's not quite that simple. PAE allows the KERNEL to access larger amounts of memory. It's somewhat limited in actual use because there are sometimes issues with device drivers (not everyone tests properly for these conditions), and of course no application can get more than it's normal 2 or 3 gigs of memory. But it's still sometimes useful, especially on desktop systems. @edgarholleis - Explaining what's wrong would have been more helpful. – Michael Kohne Aug 12 '09 at 14:31
  • @edgarholleis: What is wrong exactly? PAE does exist but I do not see point in using PAE if there is possibility of using real 64-bit operating system. Not only that there are issues with driver, but programming for it (if you wish your process to use that memory) is much harder than using 64-bit flat memory model. – Josip Medved Aug 12 '09 at 16:00

4GB is sufficient for most tasks you'd want to do on a 64-bit machine but memory is cheap (e.g. an extra 4GB of DDR2 RAM costs about $60 AUD, or under $50 USD) and it doesn't hurt to have more than you need. so i'd install 8GB anyway.

others have pointed out that it depends on what you'll use the machine for. i'll add that it also depends on what OS you're using and how it makes use of resources such as RAM.

Linux, for example, will use every byte of RAM in the system. Any RAM not being used by a program will be used for disk buffering and caching. Adding more RAM to a system has long been the single cheapest and most effective way to improve the performance of a linux server (esp. since most server tasks are I/O bound rather than CPU bound, so anything that improves I/O performance will have a dramatic effect on overall performance).

I build all my machines with 8GB RAM (4 x 2GB sticks) these days. saving $60 just doesn't seem worth it. if 4GB sticks were proportionally the same price as 2Gb sticks i'd probably build many of them with 16GB instead.


Nobody need more that 640kb of memory ;)

Joke aside, it depends on what you want to do with the computer.


The answer is "it depends". Windows for example - assuming we're talking about x64 and in order to preserve compatibility with 32 bit software - will retain 32 bits for integers and longs but switch to 64 bits for pointers (http://software.intel.com/en-us/articles/porting-to-64-bit-intel-architecture/). What this means is that only pointers will have additional storage requirements (and that only in native 64 bit applications), whereas code which uses int and long will have no additional overhead. You'll end up having much less additional overhead than you think you might have. Having said that, more memory never hurts, particularly in 64 bit land.

Other OSs and architectures may differ, of course.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy