Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

How to determine whether I run a 32bit or 64bit Ubuntu install?

share|improve this question
up vote 21 down vote accepted

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


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"


share|improve this answer

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.

share|improve this answer

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .