I ordered a server from fdcserver. Then I realized that, unless changed, fdcserver actually provides 32 bit operating as default.

I logged in using SSH, typed uname -m, and to my horror I saw that I was actually running a 32 bit Linux.

I will definitely change this near the end of the month. Meanwhile, what are the limitation of this 32 bit operating system?

Can I use all 32 GB of memory the server has installed?

2 Answers 2


32-bit x86 CPUs (since the Pentuim Pro) support up to 64 GiB RAM (using PAE). (The "CONFIG_HIGHMEM64G" kernel option needs to be set to actually use it). Each application can only see 4 GiB at a time (and some of that 4GiB must be used for other things, the exact amount depending on the "Memory split" kernel setting)

64-bit operating systems have some other advantages as well, such as access to extra registers on the CPU, which can speed up some types of applications (by allowing more temporary data to be kept in the much faster registers, rather than main RAM)

  • 1
    The 4 GiB limit especially becomes a problem for MySQL, MongoDB, and probably others. Commented Jan 3, 2013 at 5:38
  • 14
    If you ordered 32G ram, there is really no reason to use 32bit OS. 64bit OS should be default without customer asking.
    – John Siu
    Commented Jan 3, 2013 at 5:43
  • 2
    Adding to John Siu's comment, I would question any host that would setup a server with a 32-bit OS knowing that it was getting 32GB of RAM. A desktop system would even be questionable but definitely not with a server. Commented Jan 3, 2013 at 13:56
  • 2
    The 4GB limit is for 32bit apps on 64bit kernel, on a 32 bit kernel the limit is 3GB. Commented Jun 10, 2014 at 12:59
  • 1
    see also x32 — en.wikipedia.org/wiki/X32_ABI Commented Jun 27, 2014 at 10:47

All your ram is accessible even with a 32bit kernel. The main difference is probably that any application cannot address more than 3gb of memory. I don't know if you really use such applications (usually databases, or graphics applications), otherwise you may ignore the problem. Please note that 64bits applications requires more memory (because registers and addresses are larger), and load slower from disk (because the binary files are larger).

So, before leaving the 32bits userspace, better check your requirements. Moreover, many Linux distribution provide 64bits kernels to be used with a 32bit userland: if you are referring to PC, then check how Debian provide amd64 kernel series for i386 (32bit) architecture as well.

  • what about php and apache? There are tons of process and they may count as one program.
    – user4951
    Commented Jan 4, 2013 at 0:57
  • 1
    @JimThio, could you better explain what is your worry? php and apache usually do not require much memory at all. tons of processes are perfectly managed by 32bits linux kernels. I think that even 64bits kernel do not have larger PIDs, so probably they cannot run more processes at the same time. If you are referring to shared memory among the various apache threads, this is not a problem, usually, since it is way lower than memory given to databases.
    – eppesuig
    Commented Jan 4, 2013 at 8:53
  • It is the process that has the 3GB limit. Application is not an operating system concept. If an application has 100 processes then the total memory is less than 100 × 3GB. I say less than because they will probably share some: shared libraries, and maybe there code. Commented Jun 10, 2014 at 13:03

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .