では、物理CPUコアとは対照的に、論理CPUコアとは何ですか?


48

あなたは物理コアなど対論理コアを得ることを私は、マシンのCPUの数を見つけることができるかについてグーグルでいたと私はいくつかの記事を見つけましたが、私はいくつかが述べたように混乱しています
ので、何の論理的および物理コアとの間の差であるとされ物理コアのみを取得する方法はありますか?または、論理コアをカウントに含めることは理にかなっていますか?

回答:


62

物理コアは、CPU内の物理コアです。論理コアは、単一のコアが2つ以上のことを同時に実行する能力です。これは、Hyper Threading(HTT)と呼ばれることを行う初期のPentium 4 CPUの能力から生まれました

コアのサブコンポーネントが特定の種類の命令に使用されておらず、別の実行時間の長い命令が実行されている可能性がある、ちょっとしたゲームでした。そのため、CPUは実質的に2つのことを同時に処理できます。

新しいコアはより本格的なCPUであるため、複数の処理を同時に実行していますが、物理コアのように真のCPUではありません。ハイパースレッディング機能の制限とコアの物理的機能の制限については、Intel Core i5およびCore i7:IntelのMainstream Magnum Opusというタイトルのこの記事のtomshardwareをご覧ください。

lscpu次のコマンドを使用して、ボックスの内訳を確認できます。

$ lscpu
Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
CPU(s):                4
Thread(s) per core:    2
Core(s) per socket:    2
CPU socket(s):         1
NUMA node(s):          1
Vendor ID:             GenuineIntel
CPU family:            6
Model:                 37
Stepping:              5
CPU MHz:               2667.000
Virtualization:        VT-x
L1d cache:             32K
L1i cache:             32K
L2 cache:              256K
L3 cache:              3072K
NUMA node0 CPU(s):     0-3

上記のIntel i5ラップトップには合計4つの「CPU」があります

CPU:4

そのうち2つの物理コアがあります

ソケットあたりのコア:2

そのうち最大2つのスレッドを実行できます

コアあたりのスレッド:2

同時に。これらのスレッドは、コアの論理機能です。


私は持っていませんlscpu.Isそこに任意の代替ツールは?
ジム

1
使用する生の情報lscpuはここに公開されています:cat /proc/cpuinfo。あなたのOSは何ですか?
slm

1
@ThomasWeller -ここに私の他のA'erを参照してください- unix.stackexchange.com/questions/113544/...を
slm

1
Core(s) per socketThread(s) per core: 2= CPU(s): 4?正しい?
user3019105

1
@ user3019105 -正しい
SLM

12

物理コアは、実際のハードウェアコンポーネントである物理コアの数です。

論理コアは、物理コアの数にハイパースレッディングを使用して各コアで実行できるスレッドの数を掛けたものです。

たとえば、私の4コアプロセッサはコアごとに2つのスレッドを実行するため、8つの論理プロセッサがあります。


ハイパースレッディングをサポートするプロセッサを使用している場合にのみ、この数字は意味がありますか?これはどういう意味ですか?それでも、1つのスレッドが一度に各CPUを占有しますか?
ジム

それで、どの番号を取得することを目指しますか?
ジム

必ずしもそうではありませんが、たとえば、同時マルチスレッドでは、単一のコアで2つのスレッドを同時に実行できます。他にも多くの利点があります。

物理コアの数を調べます。

1

ハイパースレッディングテクノロジーにより、単一の物理プロセッサコアが2つの論理プロセッサのように動作できます。

したがって、単一のプロセッサコアで2つの独立したスレッドを同時に実行できます。

Intelは、物理プロセッサをソケットと呼びます。

ハイパースレッディングにより、物理プロセッサは、論理プロセッサと呼ばれる2つの物理プロセッサを持つように動作します。どうして?

ハイパースレッディングはシステムのパフォーマンスを2倍にしませんが、アイドルリソースをより有効に活用することでパフォーマンスを向上させることができ、特定の重要なワークロードタイプのスループットが向上します。ビジーコアの1つの論理プロセッサで実行されているアプリケーションは、非ハイパースレッドプロセッサで単独で実行されている場合に得られるスループットの半分をわずかに超えることが予想されます。


概要


物理プロセッサは、私たちが見ることができて落ちたことです。

論理プロセッサがPhsical、のようなものですコアは、 2つの物理コアとして動作します


vmwareドキュメントへのバステッドリンク。
slm

0
$ sudo dmidecode |egrep "Socket Designation: Proc|((Thread|Core) Count)"
Socket Designation: Proc 1
        Core Count: 14
        Thread Count: 28
Socket Designation: Proc 2
        Core Count: 14
        Thread Count: 28

2つのソケット。各ソケットには14個の物理コアがあります。各コアには2つのスレッド(28/14)があります。論理的な「cpus」または論理処理ユニットの総数は56です(これは「top」やその他のコマンドが「cpus」の数として表示するものです)。


どのような私をバッフルことはあなたのアプローチと私のi3-3220に私はコア数2とスレッドカウント2(= 4)が、取得することであるlscpu shows CPUs 4 and threads per 2 (=8) but lshw -C cpu`ショー16論理CPUの番号を0から15
エルダーオタク

dmidecodeはBIOSの内容を解釈します。たとえば、BIOSでハイパースレッディングが無効になっているなどの場合、何が問題なのか正確にはわかりません。lscpuとlshwはOSコマンドなので、OSカーネルが認識したものを表示します。プロセッサのIntel仕様では、2コア4スレッドが示されています。
タガー

ハイパースレッディングを無効にすると、論理コアの数が増えるのではなく、少なくなりますか?
オタク長老

i3-3220の実際のスレッド/コア数4スレッドの2コアの代わりに、dmidecodeで2コア2スレッドが報告されていることがわかりました。だからそれは小さいです。それは単なる推測であり、実際にBIOSでハイパースレッディングが無効にされているかどうかはわかりません。
タガー

lscpu出力を誤って解釈しているようで、実際には合計4スレッドですが、「lshw -C cpu`は16個の論理CPUを示しています」
オタク長老
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.