What a 64 bit Linux can do that 32 bit linux can't?

6,258

Solution 1

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)

Solution 2

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.

Share:
6,258

Related videos on Youtube

user2935706
Author by

user2935706

Updated on September 18, 2022

Comments

  • user2935706
    user2935706 over 1 year

    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?

  • Mark McKinstry
    Mark McKinstry over 11 years
    The 4 GiB limit especially becomes a problem for MySQL, MongoDB, and probably others.
  • John Siu
    John Siu over 11 years
    If you ordered 32G ram, there is really no reason to use 32bit OS. 64bit OS should be default without customer asking.
  • daemonofchaos
    daemonofchaos over 11 years
    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.
  • user2935706
    user2935706 over 11 years
    what about php and apache? There are tons of process and they may count as one program.
  • eppesuig
    eppesuig over 11 years
    @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.
  • ctrl-alt-delor
    ctrl-alt-delor almost 10 years
    The 4GB limit is for 32bit apps on 64bit kernel, on a 32 bit kernel the limit is 3GB.
  • ctrl-alt-delor
    ctrl-alt-delor almost 10 years
    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.
  • Gert van den Berg
    Gert van den Berg almost 10 years
    @richard: As far as I remember, on a 32-bit kernel, each process has a 4GiB address space, of which only a part can refer to actual usable RAM (some likely refers to Kernel functions, other to hardware) (Which is shy a reference was made to the "Memory split" setting) Also found this: linux-mm.org/VirtualMemory
  • ctrl-alt-delor
    ctrl-alt-delor almost 10 years
    @GertvandenBerg yes 1 or 2 GB is used in kernel space, not available in user space. Also don't confuse virtual memory with RAM & hardware IO. RAM and hardware IO is about physical memory not virtual. Physical memory is higher that 4GB in 32bit-pae kernel.
  • ctrl-alt-delor
    ctrl-alt-delor almost 10 years
    PAE is so not very good, it should be considered only a stepping stone toward full 64bit. You will probably find 64 bit more efficient (at least a 64bit kernel).
  • ctrl-alt-delor
    ctrl-alt-delor almost 10 years