How to determine whether I run a 32bit or 64bit Ubuntu install
Solution 1:
Did you try uname -m ?
It seems like the uname -m actually gives
- x86_64 when it is an kernel 64 bits
- i686 for 32 bits kernel
Otherwise, not for the Linux kernel, but for the CPU, you type:
cat /proc/cpuinfo
or:
grep flags /proc/cpuinfo
Under "flags" parameter, you will see various values. Among them, one is named "tm(transparent mode)" or "rm(real mode)" or "lm(long mode)"
- rm means: 16 bit processor
- tm means: 32 bit processor
- lm means: 64 bit processor
Note: you can have a 64-bit CPU with a 32-bit kernel installed"
Source.
Solution 2:
Usually when you want to find this out, you want to find out if the applications are running as 32-bit or 64-bit, not what architecture the kernel was compiled for. As sYnfo points out, you can have 64-bit cpu with 32-bit kernel. But more importantly you can have a 64-bit kernel running 32-bit userspace. In this case the command uname -m
will (inaccurately) report 64-bits, because uname only reports kernel architecture. In Ubuntu and other Debian derivatives, you can find out your bitness by running:
dpkg --print-architecture
For most cases, you'll want to use this command instead of uname.