1

Which architecture os do I use? I have a 32-bit processor, but I also have 4GB of RAM, the download page says the 32-bit system is for computers with less than 2GB of RAM.

Pilot6
  • 92,041

4 Answers4

4

If you have a 32-bit CPU, then you have no options. Only a 32-bit OS can be installed.

Ubuntu is shipped with pae-enabled kernels. Up to 64 GB of RAM can be used.

But not more than 4 GB per process.

Pilot6
  • 92,041
0

Run the following command to see if your CPU can work in 64-bit mode:

lscpu | grep "CPU op"

if you see 32-bit, 64-bit in the output, it means you will be able to 'install' 64-bit Ubuntu. Now, this might not leverage all the goodness of a 'pure' 64-bit machine, but this is an option for you if your CPU supports this. I have a 32-bit laptop and in the past I've done this and I did not experienced any major problems. But sometimes if you try to install some programs/packages you might face a platform incompatibility.

Ron
  • 20,938
0

Summary:

  • If your CPU is an old 32bit processor, you have to install a 32bit system.
    It may be capable of PAE, then it's no problem to use the full amount of the available 4GiB RAM.
  • If you have a 64bit CPU, you can decide which OS architecture you want to use. both 32bit and 64bit will work.
    Depending on your RAM configuration, you get the best performance on systems with few RAM ( < 4GiB) with a 32bit OS and on systems with much RAM ( > 4GiB) with a 64bit OS. Around 4GiB of RAM, you have to decide...

Detailed explanation:

About the CPU architecture:

The physical architecture of your processor (CPU) tells you which operating system (OS) architecture you are able to install:

  • 32bit CPU: Install only 32bit OS or older
    (8bit and 16bit do not really exist any more today, except on some microcontrollers)
  • 64bit CPU: Install 64bit OS or 32bit OS or older

About the RAM size:

A plain old 32bit CPU can physically address 2³² byte of memory, which is exactly 4GiB (with 1GiB = 1024MiB, 1MiB = 1024KiB, 1KiB = 1024Byte).
A new 64bit CPU can in contrast physically address 2⁶⁴ byte of memory, which are 16EiB ("Exbibyte" or sometimes "Exabyte", which is a number with 20 digits in bytes).

You have to know that "memory" not only is RAM, but includes every memory available to the machine. This includes RAM (main memory), VRAM (video card's memory) and all other internal memories, but no disks or external devices. Especially the video memory is important: If you have a graphics card with 1GiB VRAM, you can only address 3 more GiB RAM on an old 32bit system.

However, we were able to use more than 4GiB even before we had 64bit CPUs. How? The answer is PAE (Physical Address Extension). This technique allows to use more physical memory with 32bit CPUs through special tables that mapped to the memory cells. It's first use was in the Intel Pentium Pro CPU from 1995, so most semi-modern 32-bit CPUs support it. On most current OS, it allows addressing up to 64GiB of memory.

Why the 4GB "limit" is also important for the 32/64bit decision is the following: 64bit systems use 64bit wide addresses and 64bit wide memory blocks to store data. This however doubles the amount of memory needed for normal applications for which 32bit variables were enough. So if you have less than 4GiB RAM on a 64bit capable system, this effect will dominate and your system is probably less well performing as if you would have installed a 32bit OS due to memory shortage.

Byte Commander
  • 110,243
-1

If you have 4GB of ram then you have 64bit CPU or Physical Address Extensions. 4GB + all of the memory-mapped io, is more than a 32 bit can handle.

Your choices:

  • Use 32bit system: Can't use all of ram (approximately 3GB but can vary, it depends on what other hardware the system has). 3GB total mapped memory per process.
  • Use 32bit-pae kernel: Can use all of ram (max 64GB, kernel team say performance is degraded above 8GB, due to pae complexities). 3GB total mapped memory per process.
  • Use full 64bit system (if you can): can use all of ram. lots of GB total mapped memory per precess.
  • Use hybrid 64bit system (install 32bit system, then enable 64 bit kernel): can use all of ram. 4GB total mapped memory per process.

All but full 64bit will use the 32 bit install disk. It is just a case of trying different kernels.


Note: processes can map memory up to totals listed above. They can map RAM, files, swap, shared libraries, etc.