Find the answer to your Linux question:
Results 1 to 8 of 8
Hi all, been looking at outputs of x86info, cpuinfo, dmidecode, lshw 1. One guy a post from the dag.wieers blog says: (looking at cpuinfo) "If the number of cpu cores ...
  1. #1
    Just Joined!
    Join Date
    Sep 2008
    Posts
    11

    3 ways to tell if ht enabled without going through bios - problems

    Hi all,

    been looking at outputs of x86info, cpuinfo, dmidecode, lshw

    1. One guy a post from the dag.wieers blog says:

    (looking at cpuinfo) "If the number of cpu cores is the same as the number of siblings, hyper-threading is disabled."

    seems wrong. I got ht enabled on a dell machine with two single core processors, cpuinfo saying there are 4 cores with a 1:1 ration of cores and siblings in each processor entry.

    2. Of course, tons people say "check for the little ht flag in cpuinfo"

    seems wrong. According to bios, I got another dell machine whose single dual core processor does not even support ht. ht flag still present in cpuinfo.

    3. Some say, well check your service tag and/or other relative info from dmidecode.

    managing boxes remotely, relative fields in dmidecode output state: "not specified"

    anything else?

    thanks.
    J

  2. #2
    Linux Guru
    Join Date
    Nov 2007
    Posts
    1,695
    Discussed many times.

    CPU's continue to change - use what works best for you.
    Code:
    grep -i "physical id" /proc/cpuinfo | sort -u
    physical id	: 0
    physical id	: 1
    
    grep -i "cpu cores" /proc/cpuinfo | sort -u
    cpu cores	: 4
    
    grep -i "processor" /proc/cpuinfo | sort -u | wc -l
    16
    Above machine is dual-socket with 4 cores per physical socket = 8 total CPU's. With HT enabled, the OS shows 16 "processors."

  3. #3
    Just Joined!
    Join Date
    Sep 2008
    Posts
    11
    Hi thanks for the response.

    Okay, lets compare outputs then. According to your output, you have 2 physical ids and two physical sockets, therefore, is it safe in assuming that it is one physical id per physical socket? Does not seem to be the case with me, check out my output in a 2 physical socket 1 core per socket setup:

    grep -i "physical id" /proc/cpuinfo | sort -u

    physical id : 0
    physical id : 1
    physical id : 2
    physical id : 3

    grep -i "cpu cores" /proc/cpuinfo | sort -u

    cpu cores : 1

    grep -i "processor" /proc/cpuinfo | sort -u | wc -l
    4
    clearly physical ids are being tacked on to the virtual cpus. now, imagine if I was trying to find out the cpu setup w/out going through bios. from dmidecode i can see two physical sockets present, but after looking at cpuinfo, how would i know if the four processor entries i am seeing indicate a 2 core per socket setup or a (ht'd) single core per socket setup?

    The only reason i know its a single core per socket setup is b/c i talked to the admin who physically installed everything, next time might not be so lucky. so pretend i did not talk to him, how would i resolve the above dillema?

    thanks again
    j
    Last edited by jman22; 11-04-2009 at 03:47 PM. Reason: added entry to output

  4. #4
    Linux Guru
    Join Date
    Nov 2007
    Posts
    1,695
    A) What is the Linux kernel version and distro?

    B) What is the motherboard model and chipset?

    C) Post the full output for all 4 "CPU's" from `cat /proc/cpuinfo`

    Code:
    processor       : 0
    vendor_id       : GenuineIntel
    cpu family      : 6
    model           : 26
    model name      : Intel(R) Xeon(R) CPU           E5520  @ 2.27GHz
    stepping        : 5
    cpu MHz         : 2262.000
    cache size      : 8192 KB
    physical id     : 1
    siblings        : 8
    core id         : 0
    cpu cores       : 4
    fpu             : yes
    fpu_exception   : yes
    cpuid level     : 11
    wp              : yes
    flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm syscall nx rdtscp lm const
    ant_tsc pni monitor ds_cpl vmx est tm2 cx16 xtpr dca popcnt lahf_lm
    bogomips        : 4526.35
    clflush size    : 64
    cache_alignment : 64
    address sizes   : 40 bits physical, 48 bits virtual
    power management:

  5. #5
    Just Joined!
    Join Date
    Sep 2008
    Posts
    11
    okay i got a handle on it, look at number of sockets from dmidecode, then look at cpu cores in cpuinfo, depending on the number of processor entries, you can tell if ht is being used. was able to get correct readings on the 3 machines with different cpu setups was having trouble with. cool beans.

  6. #6
    Just Joined!
    Join Date
    Sep 2008
    Posts
    11
    ask and ye shall receive. sure thing HROAdmin26, thanks again. i understand how to go about the problem now, still miffed as to why all the physical ids in cpuinfo. anyways, per your request:

    A) What is the Linux kernel version and distro?

    uname -r
    2.6.18-164.el5xen

    uname -m
    x86_64

    cat /etc/redhat-release
    CentOS release 5.3 (Final)
    B) What is the motherboard model and chipset?

    (used dmidecode, but not sure, never looked these up before)

    Handle 0x0200, DMI type 2, 9 bytes.
    Base Board Information
    Manufacturer: Dell Computer Corporation
    Product Name: 0XC320
    Version: A05
    Serial Number:

    Handle 0x0400, DMI type 4, 40 bytes.
    Processor Information
    Socket Designation: PROC_1
    Type: Central Processor
    Family: Xeon
    Manufacturer: Intel
    ID:
    Signature: Type 0, Family 15, Model 4, Stepping 3
    Flags:
    FPU (Floating-point unit on-chip)
    VME (Virtual mode extension)
    DE (Debugging extension)
    PSE (Page size extension)
    TSC (Time stamp counter)
    MSR (Model specific registers)
    PAE (Physical address extension)
    MCE (Machine check exception)
    CX8 (CMPXCHG8 instruction supported)
    APIC (On-chip APIC hardware supported)
    SEP (Fast system call)
    MTRR (Memory type range registers)
    PGE (Page global enable)
    MCA (Machine check architecture)
    CMOV (Conditional move instruction supported)
    PAT (Page attribute table)
    PSE-36 (36-bit page size extension)
    CLFSH (CLFLUSH instruction supported)
    DS (Debug store)
    ACPI (ACPI supported)
    MMX (MMX technology supported)
    FXSR (Fast floating-point save and restore)
    SSE (Streaming SIMD extensions)
    SSE2 (Streaming SIMD extensions 2)
    SS (Self-snoop)
    HTT (Hyper-threading technology)
    TM (Thermal monitor supported)
    PBE (Pending break enabled)
    Version: Not Specified
    Voltage: 1.4 V
    External Clock: 800 MHz
    Max Speed: 3600 MHz
    Current Speed: 3000 MHz
    Status: Populated, Enabled
    Upgrade: ZIF Socket
    L1 Cache Handle: 0x0700
    L2 Cache Handle: 0x0701
    L3 Cache Handle: 0x0702
    Serial Number: Not Specified
    Asset Tag: Not Specified

    Part Number: Not Specified

    Handle 0x0401, DMI type 4, 40 bytes.
    Processor Information
    Socket Designation: PROC_2
    Type: Central Processor
    Family: Xeon
    Manufacturer: Intel
    ID:
    Signature: Type 0, Family 15, Model 4, Stepping 3
    Flags:
    FPU (Floating-point unit on-chip)
    VME (Virtual mode extension)
    DE (Debugging extension)
    PSE (Page size extension)
    TSC (Time stamp counter)
    MSR (Model specific registers)
    PAE (Physical address extension)
    MCE (Machine check exception)
    CX8 (CMPXCHG8 instruction supported)
    APIC (On-chip APIC hardware supported)
    SEP (Fast system call)
    MTRR (Memory type range registers)
    PGE (Page global enable)
    MCA (Machine check architecture)
    CMOV (Conditional move instruction supported)
    PAT (Page attribute table)
    PSE-36 (36-bit page size extension)
    CLFSH (CLFLUSH instruction supported)
    DS (Debug store)
    ACPI (ACPI supported)
    MMX (MMX technology supported)
    FXSR (Fast floating-point save and restore)
    SSE (Streaming SIMD extensions)
    SSE2 (Streaming SIMD extensions 2)
    SS (Self-snoop)
    HTT (Hyper-threading technology)
    TM (Thermal monitor supported)
    PBE (Pending break enabled)
    Version: Not Specified
    Voltage: 1.4 V
    External Clock: 800 MHz
    Max Speed: 3600 MHz
    Current Speed: 3000 MHz
    Status: Populated, Idle
    Upgrade: ZIF Socket
    L1 Cache Handle: 0x0703
    L2 Cache Handle: 0x0704
    L3 Cache Handle: 0x0705
    Serial Number: Not Specified
    Asset Tag: Not Specified
    Part Number: Not Specified
    C) Post the full output for all 4 "CPU's" from `cat /proc/cpuinfo`

    processor : 0
    vendor_id : GenuineIntel
    cpu family : 15
    model : 4
    model name : Intel(R) Xeon(TM) CPU 3.00GHz
    stepping : 3
    cpu MHz : 2992.696
    cache size : 2048 KB
    physical id : 0
    siblings : 1
    core id : 0
    cpu cores : 1
    fpu : yes
    fpu_exception : yes
    cpuid level : 5
    wp : yes
    flags : fpu de tsc msr pae mce cx8 apic sep mtrr mca cmov pat clflush acpi mmx fxsr sse sse2 ss ht syscall nx lm constant_tsc pni cid cx16
    bogomips : 7485.89
    clflush size : 64
    cache_alignment : 128
    address sizes : 36 bits physical, 48 bits virtual
    power management:

    processor : 1
    vendor_id : GenuineIntel
    cpu family : 15
    model : 4
    model name : Intel(R) Xeon(TM) CPU 3.00GHz
    stepping : 3
    cpu MHz : 2992.696
    cache size : 2048 KB
    physical id : 1
    siblings : 1
    core id : 0
    cpu cores : 1
    fpu : yes
    fpu_exception : yes
    cpuid level : 5
    wp : yes
    flags : fpu de tsc msr pae mce cx8 apic sep mtrr mca cmov pat clflush acpi mmx fxsr sse sse2 ss ht syscall nx lm constant_tsc pni cid cx16
    bogomips : 7485.89
    clflush size : 64
    cache_alignment : 128
    address sizes : 36 bits physical, 48 bits virtual
    power management:

    processor : 2
    vendor_id : GenuineIntel
    cpu family : 15
    model : 4
    model name : Intel(R) Xeon(TM) CPU 3.00GHz
    stepping : 3
    cpu MHz : 2992.696
    cache size : 2048 KB
    physical id : 2
    siblings : 1
    core id : 0
    cpu cores : 1
    fpu : yes
    fpu_exception : yes
    cpuid level : 5
    wp : yes
    flags : fpu de tsc msr pae mce cx8 apic sep mtrr mca cmov pat clflush acpi mmx fxsr sse sse2 ss ht syscall nx lm constant_tsc pni cid cx16
    bogomips : 7485.89
    clflush size : 64
    cache_alignment : 128
    address sizes : 36 bits physical, 48 bits virtual
    power management:

    processor : 3
    vendor_id : GenuineIntel
    cpu family : 15
    model : 4
    model name : Intel(R) Xeon(TM) CPU 3.00GHz
    stepping : 3
    cpu MHz : 2992.696
    cache size : 2048 KB
    physical id : 3
    siblings : 1
    core id : 0
    cpu cores : 1
    fpu : yes
    fpu_exception : yes
    cpuid level : 5
    wp : yes
    flags : fpu de tsc msr pae mce cx8 apic sep mtrr mca cmov pat clflush acpi mmx fxsr sse sse2 ss ht syscall nx lm constant_tsc pni cid cx16
    bogomips : 7485.89
    clflush size : 64
    cache_alignment : 128
    address sizes : 36 bits physical, 48 bits virtual
    power management:
    Thanks!

  7. #7
    Linux Guru
    Join Date
    Nov 2007
    Posts
    1,695
    Hmmm, you have a Xen kernel. You can do further reading about how invasive the changes are with a Xen-enabled kernel.

    Do you have one of these systems with a non-Xen kernel?

    Are all of your "problem" machines Xen kernels?

  8. #8
    Just Joined!
    Join Date
    Sep 2008
    Posts
    11
    nah, i put xen on a local box and did not affect any system output.

Posting Permissions

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