システム1: ノートブック

システム1: ノートブック

システム1: ノートブック

インストールされているCPUを検出します。

$ cat /proc/cpuinfo | grep "model name" | head -1
model name  : Intel(R) Core(TM) i5-2520M CPU @ 2.50GHz

データシートにはこう書かれている:

  • コア数 2
  • スレッド数 4

コアとスレッドを検出:

$ sudo dmidecode -t processor | grep -E '(Core Count|Thread Count)'
Core Count: 2
Thread Count: 4

結論: コア数とスレッド数フィットデータシート付き。

システム2: デスクトップPC

インストールされているCPUを検出します。

$ cat /proc/cpuinfo | grep "model name" | head -1
model name  : Intel(R) Core(TM) i7-4770 CPU @ 3.40GHz

データシートにはこう書かれている:

  • コア数 4
  • スレッド数 8

コアとスレッドを検出:

$ sudo dmidecode -t processor | grep -E '(Core Count|Thread Count)'
Core Count: 4
Thread Count: 2

結論: コア数とスレッド数ではないデータシートに適合します。

質問

  • Intel のデータシートと出力の読み方を教えてくださいdmidecode
  • コアはいくつありますか?
  • 各コアにはいくつのスレッドがありますか?
  • システム全体にはいくつのスレッドがありますか?

[編集] アップデート 1

デスクトップPC

$ lscpu | grep -i -E  "^CPU\(s\):|core|socket"
CPU(s):                8
Thread(s) per core:    2
Core(s) per socket:    4
Socket(s):             1

下から上に読んでいきます:

  • 4 つのコアを持つソケットが 1 つあり、それぞれに 2 つのスレッドがあります => 合計で 8 つのスレッド (CPU)

結論: コア数とスレッド数フィットデータシート付き。

ノート

$lscpu | grep -i -E  "^CPU\(s\):|core|socket"
CPU(s):                4
Thread(s) per core:    2
Core(s) per socket:    2
Socket(s):             1

下から上に読んでいきます:

  • 1 つのソケットに 2 つのコアがあり、それぞれに 2 つのスレッドがあります => 合計 4 つのスレッド (CPU)

結論: コア数とスレッド数フィットデータシート付き。

[編集] アップデート 2

$ sudo dmidecode -t processor
# dmidecode 2.12
SMBIOS 2.7 present.

Handle 0x0041, DMI type 4, 42 bytes
Processor Information
    Socket Designation: SOCKET 0
    Type: Central Processor
    Family: Core i7
    Manufacturer: Intel
    ID: C3 06 03 00 FF FB EB BF
    Signature: Type 0, Family 6, Model 60, 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 (FXSAVE and FXSTOR instructions supported)
        SSE (Streaming SIMD extensions)
        SSE2 (Streaming SIMD extensions 2)
        SS (Self-snoop)
        HTT (Multi-threading)
        TM (Thermal monitor supported)
        PBE (Pending break enabled)
    Version: Intel(R) Core(TM) i7-4770 CPU @ 3.40GHz
    Voltage: 1.1 V
    External Clock: 100 MHz
    Max Speed: 7000 MHz
    Current Speed: 3700 MHz
    Status: Populated, Enabled
    Upgrade: Other
    L1 Cache Handle: 0x0004
    L2 Cache Handle: 0x0005
    L3 Cache Handle: 0x0006
    Serial Number: Not Specified
    Asset Tag: Fill By OEM
    Part Number: Fill By OEM
    Core Count: 4
    Core Enabled: 1
    Thread Count: 2
    Characteristics:
        64-bit capable

答え1

  • 必ずデータシートを参照してください
  • 私も同じ CPU (K バージョン、空き時間に CPU をオーバークロックすることもあります) を使用していましたが、コアが 4 つ、スレッドが 8 つあり、100% 保証されています。
  • 通常、各コアには 2 つのスレッドがあります。
  • 今日までdmidecodeを知りませんでした:/

これは、あなたの質問の下にコメントとして書いたものです。また、リンクも共有しましたので、そのページの指示に従って解決できたことを嬉しく思います。

リンクはこちらです: http://fibrevillage.com/sysadmin/155-how-to-tell-if-cpu-hyperthreading-enabled-on-linux

私はそれを読んだ

注意: 古いマシンでは、dmidecode はコア数、スレッド数などの CPU の詳細情報を提供しない場合があります。

しかし、4770 はそれほど古いものではなく、今でも優れた CPU です。

とにかく、他にも解決策はありますし、そのうちの 1 つがうまくいったことを嬉しく思います。

具体的には: lscpu | grep -i -E "^CPU\(s\):|core|socket"

もちろん、これは私の功績ではありません。解けたと思うなら、答えを書いて閉じたほうが良いと思います。

答え2

まず、HTT が有効になっているということは、コアごとに 2 つのスレッドがあることを意味します。

さて、dmidecode出力に関しては、最初に引用したように 4 つのコア、2 つのスレッドの出力がリストされているので、何かがおかしいです。

しかし、あなたの完全なdmidecode出力は、できた意味をなす。

Core Count: 4
Core Enabled: 1
Thread Count: 2

さて、なぜ 1 つのコアだけが有効になっていると表示されるのでしょうか? 主なオプションが 2 つあります。

  • 1 つのコアのみが有効になっています (最も明白な原因)。
    すべてのコアが実際に有効になっていることを確認してください (UEFI/BIOS セットアップ設定)。ただし、他のツールの結果では、コアが有効になっていることが示されています。
  • システムのDMIデータに問題があります

dmidecodeツールの名前が示すように、出力はシステム DMI データの読み取りとデコードに基づいています。したがって、データに誤りがあるのはツール自体ではなく、システムの DMI / SMBIOS テーブルに誤った値が含まれていることが原因である可能性が高くなりますdmidecode

データシートに関しては、チップ自体の機能に関しては信頼できますが、それはあなたの環境で利用可能なものとは少し異なる質問に答えている可能性があります (一部の機能を有効/無効にできる構成オプションがあるため)。

関連情報