web-dev-qa-db-ja.com

Debianはすべてのコアを表示していませんか?

最近 i5-9600K を購入しました。これは、/proc/cpuinfohtフラグがオンになっており、htoponlyなどのツールをチェックすると、6つのコアが表示されます(下の画像を参照)。

私は他のIntelおよびAMDプロセッサを使用しており、通常は製品が6 cores/6 threads合計金額は12、ただしこの場合は6

私は間違っているのですか、それとも何が問題なのでしょうか?

ありがとうございました!

enter image description here

7
wiitohzjeh

CPUのArkページ を下にスクロールすると、次のように表示されます。

インテル®ハイパースレッディングテクノロジー‡いいえ

CPUには6つのコアがありますが、ハイパースレッディングをサポートしていないため、htopの表示は正しいです。

ArkのCPU仕様は全スレッド数を示しており、加算や乗算は含まれていません。たとえば、ハイパースレッド対応のCPUの場合は Xeon E3-1245v を参照してください(4コア、コアあたり2スレッド、合計8スレッド)。

基になるCPUIDフラグに与えられたhtモニカーは、やや誤解を招くものです: Intelのマニュアル (ボリューム3A、セクション8.6)では、「物理パッケージが対応できることが設定されていることを示しますインテルハイパースレッディングテクノロジーおよび/またはマルチコアをサポートしています。」したがって、その存在は、CPUがハイパースレッドをサポートしている(無効になっている場合でも)か、同じパッケージに複数のコアを含んでいるか、またはその両方であることを示しています。実際に存在するものを判別するには、ファームウェアが提供する情報を使用してシステムのCPUを列挙し、与えられた情報を使用して、複数の論理コアがあるかどうか、物理コアの数、ソケットの数などを把握する必要があります。 。CPUに応じて、htop(およびその他のツール)に表示される「CPU」は、スレッド(ハイパースレッディングシステム上)、物理コア(非ハイパースレッディングシステム上)になります。または完全なパッケージ(非ハイパースレッディング、シングルコアシステム)。

Linuxカーネルはこのすべての検出を行い、たとえばlscpuを使用して結果を確認できます。

少なくとも、CPUはハイパースレッディング関連の脆弱性の影響を受けません。

23
Stephen Kitt

このコンテキストでは、「スレッド」は「論理コア」の同義語です。つまり、物理コアの数に関係なく、論理コアのtotal量です。余分なスレッドはありません。

CPUには6つの論理コアがあるため、Linuxをブートすると6つのCPUが「見える」ようになります。

CPUには6つの物理コアがあるため、論理コアのペアがIntelの物理コアを共有している論理コアのペアではなく、各論理コア自体に物理コア全体があります [〜#〜] smt [〜#〜] =、これはハイパースレッディングと呼ばれます。

私は他のIntelおよびAMDプロセッサを使用しており、通常、製品で6コア/ 6スレッドと表示されている場合、合計量は12

[引用が必要]。 2c4t(2つの物理コア、4つの論理コア)のような用語は、x86だけでなく、すべてのアーキテクチャーで長年標準となっています。

N個の「実際の」コア+ N個の「余分な」スレッドとして記述されているものは、それが機能する方法ではないため、私は見たことがありません。両方の論理コアは「対称」であり、特別に起動する必要があったようなものではありません。それぞれがフルCPUとして機能します。 (1つがアイドルディープスリープ状態のとき、もう1つはシングルスレッドモードに移行してすべての実行リソースを取得できます。両方がスリープ状態のとき、物理コアは実際にスリープ状態になります)

おもしろい事実:ハイパースレッディングのOSサポートにより、OSはCPUIDデータやAPIC/LAPIC割り込みコントローラーなどを読み取ることで、物理コアを共有する論理コアを認識できます。ハイパースレッディングを認識していなかったOSも起動し、CPUがサポートする論理コアがいくつでも表示されます(BIOSでHTが有効になっています)。他の物理コアをアイドル状態のままにしながら、実行リソースのために互いに。


一部のCPUには、2ウェイ以上のSMTがあります。例えばXeon Phiには、メモリとALUのレイテンシを隠し、多くの順序の乱れた実行リソースなしで優れた合計スループットを得る方法として、4ウェイSMT(物理コアあたり4論理コア)があります。

IBM POWERは、大きな物理コアで8ウェイSMTを使用します。

3
Peter Cordes

あなたが他のプロセッサを見れば i7-1071 Intelの場合、これは6コアと12スレッドとして表示されるため、CPUには、期待する2ではなく、コアごとに1スレッドしかないようです。

0
icarus