Is my processor 64 or 32 bit?
I am on Ubuntu and I did this command:
$ uname -a
Linux slabrams-desktop 2.6.32-29-generic #58-Ubuntu SMP Fri Feb 11 19:00:09 UTC 2011 i686 GNU/LinuxDoes it mean I am on 32bit or 64 bit processor?
The reason I am trying to figure this out is that I was getting errors which looked like this:
cannot execute binary fileand from Googling, I thought it was a processor issue. Any ideas?
15 Answers
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: 3072KFurther 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. 1 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.
uname -p give the architecture of the processor. If it gives x86_64, it means cpu is 64 bit.
Basic idea:
x86_64 is 64 bit capable cpu and i386 is 32 bit.
With lscpu
Long answer: lscpu
Architecture: x86_64
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
NUMA node(s): 1
Vendor ID: AuthenticAMD
CPU family: 17
Model: 3
Stepping: 1
CPU MHz: 550.000
BogoMIPS: 4397.92
Virtualization: AMD-V
L1d cache: 64K
L1i cache: 64K
L2 cache: 512K
NUMA node0 CPU(s): 0,1Short answer lscpu | awk '/CPU op-mode/ {print}
Output : CPU op-mode(s): 32-bit, 64-bit
With lshw
Long answer: run sudo lshw
Slightly shorter answer: sudo lshw -c cpu
Output:
*-cpu description: CPU product: AMD Turion(tm) X2 Dual-Core Mobile RM-75 vendor: Advanced Micro Devices [AMD] physical id: 4 bus info: cpu@0 version: Turion X2 Mobile RM-75 slot: Socket M2/S1G1 size: 550MHz capacity: 4GHz width: 64 bits clock: 200MHz capabilities: fpu fpu_exception wp vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt rdtscp x86-64 3dnowext 3dnow constant_tsc rep_good nopl nonstop_tsc extd_apicid pni cx16 lahf_lm cmp_legacy svm extapic cr8_legacy 3dnowprefetch osvw skinit hw_pstate lbrv svm_lock nrip_save vmmcall cpufrEven shorter answer: sudo lshw -c cpu | grep width
Output: width: 64 bits