32 or 64 bit CPU

To find out if the CPU in a computer is 32 or 64 bit, open the terminal and try these commands.

Good: “ sudo cat /proc/cpuinfo | egrep -c lm ” ( if 1 or more, then lm = long mode = 64 bit )

Better: “ sudo dmidecode -t processor | tail -3 ” ( Characteristics: 64 bit capable )

Best: “ sudo getconf -a | grep LONG_BIT ” ( shows either 32 or 64 )

Note: Using “ uname -a ” (or -m for short) only shows the type of kernel that is running.

A 32 bit kernel ( i386, i586, i686 ) can be run on a 64 bit capable CPU.

A 64 bit kernel ( x86_64 ) requires a 64 bit capable CPU to run.

########################################################################

For example: ( Two similar XEON DUAL CPU machines )

A 64 BIT CAPABLE CPU

  " cat /proc/cpuinfo | grep processor "
  processor   : 0
  processor   : 1
  processor   : 2
  processor   : 3
  " cat /proc/cpuinfo | egrep -c lm "
  4
  " dmidecode -t processor | grep Family "
  Family: Xeon
  Signature: Type 0, Family 15, Model 4, Stepping 1
  Family: Xeon
  Signature: Type 0, Family 15, Model 4, Stepping 1
  " dmidecode -t processor | tail -3 "
  Characteristics:
  64-bit capable
  " getconf -a | grep LONG_BIT "
  LONG_BIT                            64

########################################################################

A 32 BIT CAPABLE CPU (otherwise, a very similar machine)

  " cat /proc/cpuinfo | grep processor "
  processor   : 0
  processor   : 1
  processor   : 2
  processor   : 3
  
  " cat /proc/cpuinfo | egrep -c lm "
  0
  " dmidecode -t processor | grep Family "
  Family: Xeon
  Signature: Type 0, Family 15, Model 2, Stepping 9
  Family: Xeon
  Signature: Type 0, Family 15, Model 2, Stepping 9
  " dmidecode -t processor | tail -3 "
  L2 Cache Handle: 0x0703
  L3 Cache Handle: Not Provided
  " getconf -a | grep LONG_BIT "
  LONG_BIT                           32