どのプロセッサが物理コアであるかをどうやって知ることができますか?

どのプロセッサが物理コアであるかをどうやって知ることができますか?

ここにIntel i7 2700kがあり、どのプロセッサが物理プロセッサであり、どのプロセッサが仮想(ハイパースレッディング)プロセッサであるかを区別する方法を知りたいです。現在、CPUの温度、周波数、および負荷を表示するためにConkyスクリプトを実行していますが、正しく実行しているかどうかはわかりません。

素晴らしい

温度と周波数を取得する独自のスクリプトを作成しましたが、i7zこれは物理コアに固有のものです。現在の各コアを次のように表示します。

${cpu cpu1} ${lua display_temp 0} ${lua display_load 0}
${cpu cpu2}
${cpu cpu3} ${lua display_temp 1} ${lua display_load 1}
${cpu cpu4}
# ...

時々負荷と温度を確認するので、これが正しいかどうかわかりません。では/proc/cpuinfo、コアはどのように注文されますか?まず物理的、次に仮想?各物理コアと仮想コアは何ですか?どのように注文されますか?

ベストアンサー1

各cpuinfoエントリを調べて、各プロセッサコアについて学ぶことができます。

processor       : 0
[...]
physical id     : 0
siblings        : 8
core id         : 0
cpu cores       : 4
apicid          : 0

processor       : 1
[...]
physical id     : 0
siblings        : 8
core id         : 1
cpu cores       : 4
apicid          : 2 

processor       : 2
[...]
physical id     : 0
siblings        : 8
core id         : 2
cpu cores       : 4
apicid          : 4 

processor       : 3
[...]
physical id     : 0
siblings        : 8
core id         : 3
cpu cores       : 4
apicid          : 6

processor       : 4
[...]
physical id     : 0
siblings        : 8
core id         : 0
cpu cores       : 4
apicid          : 1

[and so on]

physical idプロセッサの識別子を表示します。マルチプロセッサ設定(マシンに2つの別々の物理プロセッサ)がない場合は、常に0です。

siblings同じ物理プロセッサに接続されているプロセッサの数を表示します。

core id現在のコアの識別子を完全に表示しますcpu cores。この情報を使用して、単一コアに入る仮想プロセッサを関連付けることができます。

apicid(およびoriginal apicid)には、BIOSによって提供された(仮想)プロセッサ番号が表示されます。

8つのピアプロセッサと4つのコアがあるため、各コアには2つの仮想プロセッサがあります。ハイパースレッディングには「仮想」または「実際」の区別はありません。ただし、この情報を使用すると、同じコアに属するプロセッサを関連付けることができます。

おすすめ記事