15

I am using 32-bit Ubuntu 14.4 LTS. How can I tell if my computer can run a 64-bit os? I am confused between architecture and CPU op-mode.

An excerpt from /proc/cpuinfo:

$ grep " lm " /proc/cpuinfo
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx **lm** constant_tsc arch_perfmon pebs bts aperfmperf pni dtes64 monitor ds_cpl vmx est tm2 ssse3 cx16 xtpr pdcm xsave lahf_lm dtherm tpr_shadow vnmi flexpriority

Output from lscpu:

kamal@kamal-G31T-M7:~$ lscpu
Architecture:          i686
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                2
On-line CPU(s) list    0, 1
Thread(s) per core:    1
Core(s) per socket:    2
Socket(s):             1
Vendor ID:             GenuineIntel
CPU family:            6
Model:                 23
Stepping:              10
CPU MHz:               2793.084
BogoMIPS:              5586.16
Virtualization:        VT-x
L1d cache:             32K
L1i cache:             32K
L2 cache:              2048K
…
David Foerster
  • 36,264
  • 56
  • 94
  • 147
kamal
  • 173
  • 1
  • 8
  • 3
    all Intel CPUs since Pentium 4 Prescott (except a few early Atom CPUs) and all AMD CPUs since Athlon 64 support x86_64, so there's no need to check for 64-bit support if you've bought the CPU for less than 12 years – phuclv Feb 02 '16 at 04:32
  • 2
    @LưuVĩnhPhúc Not quite true. Intel Core Duos are 32bit only and had new models released until September 2006. I know this because I unfortunately had one of those in an old laptop. – musiKk Feb 02 '16 at 10:10
  • 1
    They still actively make 132 CPUs that only support 32bit but it's unlikely you'll ever meet one in a desktop or laptop. Almost all their consumer stuff is 64bit. – Oli Feb 02 '16 at 10:49
  • @musiKk I forgot about Core Duo but it's quite rare now anyway – phuclv Feb 02 '16 at 11:33
  • You'd be surprised at how many 32-bit CPUs are still in use, especially with GNU/Linux (as the resource requirements are still pretty low). Last time I went (just a couple months ago) and upgraded all my system software, I found that I had no remaining 64-bit systems at home (I've had some in the past, but they've all died). All I have left are 32-bit CPUs... – Brian Knoblauch Feb 02 '16 at 14:29

3 Answers3

29

If you look at the CPU op-mode(s) line, you'll see a clue:

CPU op-mode(s):       32-bit, 64bit

So yes, your CPU supports 64bit instructions. You can use the 64bit version of Ubuntu if you want to. This will require reinstalling, there is no upgrade path.

Most CPUs you'll encounter —certainly from the last decade or so— will probably support 64bit. This isn't a guarantee because Intel still makes 132 32bit CPUs, however these are super-budget Atoms, Celerons and Pentiums, special-purpose Xeons and a few SoCs. AMD's offerings are similar.

If you can find out what the CPU is (i.e. read the Model name output), you end up with something very Google-able. Here is one of my servers:

Model name:            Intel(R) Pentium(R) CPU G3220 @ 3.00GHz

That gives this Intel ARK page which tells you all the CPU features and supported architectures. Of course yours will be different from that link but it's pretty reliable and easier to read then deciphering the flags in lscpu and cat /proc/cpuinfo.

Byte Commander
  • 107,489
Oli
  • 293,335
8

Please, don't be confused from the output.

Architecture: It means whether the current OS installed is 32-bit or 64-bit.

CPU op-mode(s): This is the real output that says as to whether your CPU is 64-bit or not.

To cross-check, from Ubuntu:

lscpu gathers CPU architecture information like number of CPUs, threads, cores, sockets, NUMA nodes, information about CPU caches, CPU family, model, bogoMIPS, byte order and stepping from sysfs and /proc/cpuinfo, and prints it in a human-readable format. It supports both online and offline CPUs. It can also print out in a parsable format, including how different caches are shared by different CPUs, which can be fed to other programs.

So, run the command:

grep "model name" /proc/cpuinfo 

you will get the model number of your CPU. Do a google search and there you will find something that says as to whether your CPU is 64-bit or not.

From Intel:

3

Raphael
  • 8,035
  • 2
    i got this intel® 64 ‡ =yes in my processor detail.so it means,my system is able to run 64 bit os :) – kamal Feb 01 '16 at 16:58
3

Your CPU supports 64-bit systems.

It can be seen in CPU op-mode(s).

Pilot6
  • 90,100
  • 91
  • 213
  • 324