Find the answer to your Linux question:
Page 1 of 2 1 2 LastLast
Results 1 to 10 of 13
Hi, uname -a command prints the following: Linux hostname kernel_ver #1 SMP Thu May 8 10:52:19 EDT 2008 i686 i686 i386 GNU/Linux I could see "i686 i686 i386" in the ...
Enjoy an ad free experience by logging in. Not a member yet? Register.
  1. #1
    Just Joined!
    Join Date
    Mar 2008
    Posts
    17

    uname command


    Hi,

    uname -a command prints the following:
    Linux hostname kernel_ver #1 SMP Thu May 8 10:52:19 EDT 2008 i686 i686 i386 GNU/Linux

    I could see "i686 i686 i386" in the output. I do understand that i386 indicates that I am using a 32 bit kernel. & i686 shows that I am using 64 bit processor. But why I do I see i686 twice. I just presumed that it could be bcoz I am using 2 processors. But infact there are 4 processors in my server.
    Please comment on this.

  2. #2
    Linux Newbie
    Join Date
    Jan 2008
    Location
    Canada
    Posts
    109
    Quote Originally Posted by joemon View Post
    Hi,

    uname -a command prints the following:
    Linux hostname kernel_ver #1 SMP Thu May 8 10:52:19 EDT 2008 i686 i686 i386 GNU/Linux

    I could see "i686 i686 i386" in the output. I do understand that i386 indicates that I am using a 32 bit kernel. & i686 shows that I am using 64 bit processor. But why I do I see i686 twice. I just presumed that it could be bcoz I am using 2 processors. But infact there are 4 processors in my server.
    Please comment on this.
    Hi joemon
    The man pages gives the information on what is printed with the -a option.
    --->
    UNAME(1) User Commands UNAME(1)

    NAME
    uname - print system information

    SYNOPSIS
    uname [OPTION]...

    DESCRIPTION
    Print certain system information. With no OPTION, same as -s.

    -a, --all
    print all information, in the following order, except omit -p and -i if unknown:

    -s, --kernel-name
    print the kernel name

    -n, --nodename
    print the network node hostname

    -r, --kernel-release
    print the kernel release

    -v, --kernel-version
    print the kernel version

    -m, --machine
    print the machine hardware name

    -p, --processor
    print the processor type or "unknown"

    -i, --hardware-platform
    print the hardware platform or "unknown"

    -o, --operating-system
    print the operating system

    --help display this help and exit

    --version
    output version information and exit
    <---
    Essentially the three you are asking about are a) processor (option -p) b) hardware platform (option -i) and c) operating system (option -o). Hope this helps. Cheers...
    Robert

  3. #3
    Just Joined!
    Join Date
    Mar 2008
    Posts
    17
    Thanks for the reply. The information that you have given is incorrect...Also the man page for this command doesn't seems to a simple answer to my doubts. May I know what is the difference between "hardware platform" (which is i386) & "machine hardware name" (which is i686) in the above example.

  4. $spacer_open
    $spacer_close
  5. #4
    Linux Guru
    Join Date
    Nov 2007
    Posts
    1,763
    No, i686 does *not* indicate a 64 bit processor.

    I will not go through every possible version of the uname command, but you can refer to the uname manual on your own system.

    An example:

    Code:
    uname --version
    uname (coreutils) 5.2.1
    Code:
    uname --help
    Usage: uname [OPTION]...
    Print certain system information.  With no OPTION, same as -s.
    
      -a, --all                print all information, in the following order:
      -s, --kernel-name        print the kernel name
      -n, --nodename           print the network node hostname
      -r, --kernel-release     print the kernel release
      -v, --kernel-version     print the kernel version
      -m, --machine            print the machine hardware name
      -p, --processor          print the processor type
      -i, --hardware-platform  print the hardware platform
      -o, --operating-system   print the operating system
          --help     display this help and exit
          --version  output version information and exit
    Code:
    uname -a
    Linux SYSTEM 2.6.5-7.308-default #1 Mon Dec 10 11:36:40 UTC 2007 i686 athlon i386 GNU/Linux

  6. #5
    Just Joined! vishesh's Avatar
    Join Date
    Jul 2009
    Location
    Delhi
    Posts
    36

    long mode

    "i386", "i486", "i586" and "i686" and "athlon" all mean 32 bit.
    i686 generally refer xeon processor .

    execute following
    #more /proc/cpuinfo|grep flags, if 'lm' word present in output that means you have 64 bit cpu otherwise you have 32 bit cpu.

    thnks

  7. #6
    Linux Guru
    Join Date
    Nov 2007
    Posts
    1,763
    Quote Originally Posted by vishesh View Post
    "i386", "i486", "i586" and "i686" and "athlon" all mean 32 bit.
    i686 generally refer xeon processor .

    execute following
    #more /proc/cpuinfo|grep flags, if 'lm' word present in output that means you have 64 bit cpu otherwise you have 32 bit cpu.

    thnks
    Yes, if those are listed in the "uname" output of a Linux system, it does indicate the Linux install is 32 bit. A 64 bit Linux install will have x86_64 in the uname results.

    As for the actual processor, i686 refers to the 6TH generation of Pentium processor architecture that goes back to the Pentium Pro - and some of them are 64 bit.

  8. #7
    Just Joined! vishesh's Avatar
    Join Date
    Jul 2009
    Location
    Delhi
    Posts
    36

    setarch

    i think 'uname -m' set set by setarch rpm. as we can see using man command
    root#man setarch

    So what we get in uname is basically collected by rpm and it may show wrong result or 32 bit os is running on 64 bit cpu architecture ?


    thnks

  9. #8
    Just Joined!
    Join Date
    Mar 2008
    Posts
    17
    Hi vishesh,

    I've heard that if lm is listed as one of the flags in cpuinfo, it is a 64 bit processor & if tm is listed it is a 32 bit processor. But what if both these flags are lised ?

    ************************************************** *******
    cat /proc/cpuinfo |grep flags
    flags : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx lm constant_tsc pni monitor ds_cpl vmx smx est tm2 cx16 xtpr lahf_lm
    ************************************************** *******

  10. #9
    Just Joined! vishesh's Avatar
    Join Date
    Jul 2009
    Location
    Delhi
    Posts
    36

    64 bit

    Its now sure that you have 64 bit cpu.
    I am not sure about tm but 'lm' denote long mode that is 64 bit cpu.
    post complete output of /proc/cpuinfo
    you can also use 'dmidecode' command for more detail result
    #man dmidecode

    thnks

    (There may be case that your cpu support 64 bit but motherboard have 32 bit architecture, surely not concluded from 'tm' )

  11. #10
    Linux Guru
    Join Date
    Nov 2007
    Posts
    1,763
    Quote Originally Posted by vishesh View Post
    i think 'uname -m' set set by setarch rpm. as we can see using man command
    root#man setarch

    So what we get in uname is basically collected by rpm and it may show wrong result or 32 bit os is running on 64 bit cpu architecture ?


    thnks
    Uname is a reflection of the currently running Linux OS and how it was compiled.

Page 1 of 2 1 2 LastLast

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •