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
  • 90,100
  • 91
  • 213
  • 324
  • What is your cpu? – Pilot6 May 29 '15 at 17:58
  • 1
    @Pilot6 Quote from the question: "I have a 32-bit processor, but I also have 4GB of RAM" It is a 32bit CPU, so your answer is correct. – Byte Commander May 29 '15 at 18:00
  • But maybe the CPU is NOT 32-bit. – Pilot6 May 29 '15 at 18:04
  • @Pilot6 except "32-bit processor" means the CPU, it doesn't mean the OS. vs. the CPU. – Thomas Ward May 29 '15 at 18:04
  • Maybe OP does not know if his CPU is capable of 64-bit commands. That what I am trying to check. – Pilot6 May 29 '15 at 18:06
  • If your system has 4GB, then you do not have a pure 32bit CPU. You have a 64bit or a 32bit with Physical Address Extensions. – ctrl-alt-delor May 29 '15 at 18:20
  • 1
    Just to make this clear: Ubuntu will REFUSE to install on the wrong architecture. – Rinzwind May 29 '15 at 18:24
  • 1
    Normal old 32bit processors can handle up to 4GB of RAM! You can calculate 2³² is exactly 4GiB. Newer 32bit processors can even handle more than 4GB due to PAE (Physical Address Extension). – Byte Commander May 29 '15 at 18:27
  • @ByteCommander that is 4GB of memory mapped IO: RAM plus other stuff. You will find that you can access somewhat less than 4GB of RAM. My system can access ≈ 3GB of RAM in pure 32 bit mode. 8GB with PEA and 64bit kernels. – ctrl-alt-delor May 29 '15 at 19:13
  • @richard Yes, you're right. The memory addresses are distributed over all kinds of memory, mainly including RAM and video memory (VRAM). I clarified this in my answer below. – Byte Commander May 29 '15 at 19:42

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
  • 90,100
  • 91
  • 213
  • 324
  • would that make 2gb of my ram unused? –  May 29 '15 at 18:00
  • It will use all your ram. – Pilot6 May 29 '15 at 18:00
  • PAE allows 3GB per process. – ctrl-alt-delor May 29 '15 at 18:20
  • On 32 bit systems 1GB is reserved for the kernel. – ctrl-alt-delor May 29 '15 at 18:28
  • The confusion is between virtual a logical memory. 1GB of logical memory is reserved for kernel. 3GB is used to map RAM, files, swap, shared libraries, etc. This is true of all 32 bit kernels, though sometimes the ratios can change (sometimes 2GB:2GB). On 64bit kernel a 32bit process gets all 4GB of logical, as kernel has the whole of 64bit space to hide in. PAE allows more Physical not more Logical. – ctrl-alt-delor May 29 '15 at 18:54
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,638
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
  • 107,489
  • Also x86-64 has more registers than x86 (32). So 64 bit mode may be faster. This is only true if you are using x86, which you probably are. – ctrl-alt-delor May 30 '15 at 11:54
-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.

  • Please explain how to "install 32bit system, then enable 64 bit kernel", especially on a 32-bit cpu? – Pilot6 May 29 '15 at 18:32
  • just install the 32 bit system. It will work but not use all of you RAM, this is ok for now. Then in the package manager, select and install the kernels with PAE and 64bit. Then reboot and select one of these kernels in the grub boot menu, and test it out. As I said I don't think you have a 32 bit cpu. If so someone wasted some money adding the extra RAM. – ctrl-alt-delor May 29 '15 at 18:37