Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

To check whether I am using 32bit or 64bit Ubuntu. I looked in How do I check if I have a 32-bit or a 64-bit OS? and found this answer uname -a. If it is shown as i386, it will be 32bit and amd64, it will be 64 bit, but I got this result:

Linux mukund-ThinkPad-Edge-E431 3.8.0-35-generic #50-Ubuntu SMP Tue Dec 3 01:25:33 UTC 2013 i686 i686 i686 GNU/Linux

What is this i686? Is it 32bit or 64bit - I think it is 32bit, because all the Debian packages which I installed in it are of 32bit, so can anybody please give a detailed explanation.

share|improve this question
1  
this superuser.com/a/238131/18500 and this answer your question: serverfault.com/a/188203/26514 –  staticx Apr 7 at 13:28

4 Answers 4

up vote 19 down vote accepted

i686 means that you're using 32 bit OS.

Go into the terminal and type in.

uname -a

If your results are similar to the one below, then yours is 64-bit; otherwise, it is 32-bit.

Linux ubuntu-tm 2.6.35-28-generic #49-Ubuntu SMP Tue Mar 1 14:39:03 UTC 2011 x86_64 GNU/Linux

If you have the x86_64 then your machine is 64-bit.

If your results are similar to this one; then you have 32-bit.

Linux Server 2.6.15-23-386 #1 SMP Tue Mar 1 13:49:40 UTC 2011 i686 GNU/Linux

Notice the i686 in the code, that means your machine is 32-bit.

UPDATE:

Type in the following in the terminal;

uname -m

It will give you either x86_64, which is 64-bit, or something else, which is 32-bit.

Courtesy: http://superuser.com/a/260999/130574 (Its a copy of that answer)

Also referred to as the P6 microarchitecture, it is the sixth generation Intel x86 microarchitecture, implemented by the Pentium Pro microprocessor that was introduced in November 1995. i686 code is intended to be executed on processors which are compatible with the 32 bit Intel x86 platform, which includes all Intel 32bit x86 processors up to and including the Pentium 4, etc. as well as processors from AMD and other vendors which make compatible 32bit chips.

Courtesy: Wikipedia and this link

In short:

It just means that you're running a 32 bit kernel supporting codes compatible with the i686 processor architecture.

N.B:

It doesn't mean that your system is only capable of running a 32bit kernel, it just means that you're currently running a 32 bit kernel.

share|improve this answer

i686 is short to Intel 80686, also (and mistakenly) known as Pentium II™. Read more…

In short words, it is 32-bit architecture. 8086 and 80286 are even 16-bit processors. 80386 is the first 32-bit Intel processor (introduced Protected mode of work, in addition to Real mode). 80586 is the famous Pentium™.

i686 is widely used to describe 32-bit P6 processor architecture which is compatible with Pentium Pro/II and has it's instruction set. For example, AMD K7 (Duron™ and Athlon™) are i686.

share|improve this answer
4  
Intel has never made a processor numbered 80686 (the Pentium II is numbered 80522/3/4). –  Alistair Buxton Apr 7 at 16:26
    
@AlistairBuxton, didn't know that, thanks! –  Danatela Apr 7 at 16:29
2  
i686 refers to the P6 architecture that started with the Pentium Pro, not the Pentium II. –  Andrew Medico Apr 7 at 17:48
    
@Andrew, updated my answer. –  Danatela Apr 7 at 17:52

As various posters have said, your kernel is 32-bit. The meaning of i686 deserves a little more explanation, however.

When compiling the Linux kernel (something that end-users don't generally need to do these days - the good people behind Ubuntu supply the kernel ready compiled), there are various options that you can tweak. One important option is CPU feature support.

All x86 CPUs are compatible with the original Intel 80386 (abbreviated i386), so if you want a kernel that's compatible with all x86 CPUs, you would compile an i386 kernel.

However, modern CPUs have many additional features (integrated floating point unit, MMX, etc.), which Linux can use if it is configured to do so. As a balance between backwards compatibility and performance, Ubuntu's kernel is compiled with support for the features that were available on the Intel Pentium II (sometimes abbreviated as i686), which is why the kernel shows up as i686.

This also partly explains why applications compiled for 64-bit processors are sometimes faster. The i686 first appeared in 1997, and modern processors have many features that were not available on the i686 (SSE, extra registers, etc.), but applications need to be compiled with support for these features, which might break compatibility with older systems. By contrast, x86_64 CPUs first appeared in 2003, so applications can be compiled with support for some of the features introduced between 1997 and 2003, without fear of compatibility issues.

share|improve this answer
1  
There is no standard definition of "i686". It has been used to describe everything from P6 architecture (which includes CPUs that can no longer run Ubuntu), "Pentium II and above" by Ubuntu, and up to "Atom/Core2 or above" by other distributions. –  Alistair Buxton Apr 7 at 16:32
    
I like it when you say "This also partly explains why applications compiled for 64-bit processors are sometimes faster.". First time I ran a complete 64-bit system, I was blown away by the speed improvement. However, you will not see this speedup when you run a mixed 32-/64-bit system. –  Zane Apr 7 at 16:36
2  
CPUs also have the CPUID instruction which allows the CPU to report feature flags. You can see these in /proc/cpuinfo. So even if software is compiled for i686, it might check the flags to see if more current features are supported. –  Zan Lynx Apr 7 at 18:00
    
Cheers for the info on feature flags and the vagaries of CPU naming. I must confess, it's been a long time since I had to compile my own kernel (probably somewhere in the 2.0 series), and I imagine Linux has gotten a lot cleverer about CPU features since then. If you think the presentation can be improved, please suggest any edits you can think of. –  James_pic Apr 8 at 8:07

Open System Settings, then click on Details. Then you see what type OS you have.

I have Ubuntu 12.04 LTS 64 bit and uname -a shows this:

Linux ubuntu1 3.2.0-60-generic #91-Ubuntu SMP Wed Feb 19 03:54:44 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux

See http://superuser.com/questions/238112/what-is-the-difference-between-i686-and-x86-64

share|improve this answer
    
one problem is there, i cannot find system settings in UE 3.8, i just installed it, system settings is not seen in system/administration or system/preferences why? –  Mukund Apr 7 at 10:02
1  
If you can't find it, you can start if from the terminal: gnome-control-center –  SPRBRN Apr 7 at 11:43

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.