Is my processor 64 or 32 bit?
You can use lscpu
.
someuser@somelaptop:~$ lscpu
Architecture: i686 # <-- your kernel is 32 bit
CPU op-mode(s): 32-bit, 64-bit # <-- your cpu can handle 32 or 64 bit instructions
CPU(s): 4
Thread(s) per core: 2
Core(s) per socket: 2
CPU socket(s): 1
Vendor ID: GenuineIntel
CPU family: 6
Model: 37
Stepping: 5
CPU MHz: 1199.000
Virtualisation: VT-x
L1d cache: 32K
L1i cache: 32K
L2 cache: 256K
L3 cache: 3072K
Further explanation of the Architecture field:
X86, i686, or i386 means you are running a 32 bit kernel.
X86_64 , amd64 , or X64 means you are running a 64 bit kernel.
It means that you're running a 32-bit kernel, which means that you can only run 32-bit apps without the use of an emulator or virtualization.
If you want to see if your processor is 64-bit then look for lm
in the flags listed in /proc/cpuinfo
.
You can also check the architecture of the binary you're trying to run by using file: file filetocheck
. It will mention either 32-bit or 64-bit.