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

When I run command 'uname-a' on my linux machine ...the result is 'i686' .

My OS is Fedora14 . what does that i686 means ? is it 64bit architecture of CPU , or does it indicates my OS capability ( 32bit OS ) ?

share|improve this question

To determine if your processor is 64-bit capable, run the following command

grep flags /proc/cpuinfo | grep lm

If you see any 'lm' flags from the output, then that means your processor supports 'long-mode', or is 64-bit.

share|improve this answer
Does that work even under 32-bit Linux variants? – Breakthrough Jul 14 '11 at 18:32
This will only tell you if the CPU supports 64-Bit instructions, but not whether the OS currently uses them. – Turbo J Jul 14 '11 at 19:27

If uname -m says i686 then the system is running a 32-Bit Kernel. With a 64-Bit Kernel the output would have been x86_64.

The CPU may or may not support 64-Bit, but your Kernel (and the rest of the OS) can only run in 32-Bit mode. This is usually determined by the choice of the installation media - 32 Bit and 64 Bit ususally come as different DVD images.

share|improve this answer

Your processor determines the computers capability to use a x64 or x86 Operating system. x64 is 64bit, while x86 refers to 32bit.

i686 is indicated in package names to show that they are optimized for x86 systems. Others are often indicated with x86_64, or amd64, differentiating per distributor.

i686: Most commonly seen as a suffix to binary packages (such as RPM packages) to be installed on a Linux system. It simply means that the package was designed to be installed on the 686 based machines, ie. 686 class machines such as the Celeron 766. Packages for this class of machine will run on later x86 based systems but there is no guarantee that they will run on i386 class machines if there have been too many processor based optimisations implemented by the developer.

Determining your processor's compatibility is fairly easy - just look at the manufacturers website. In my case, I own an Intel Core 2 Quad Q8300, and it is indicated on their website:

Instruction Set: 64-bit

share|improve this answer

You must log in to answer this question.

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