GNU/Linux >> Linux の 問題 >  >> Linux

/proc/cpuinfo 内のプロセッサー数

「CPU」、「プロセッサ」、および「コア」という言葉は、やや混乱する方法で使用されています。これらはプロセッサ アーキテクチャを指します。コアは、汎用プロセッサを実装する最小の独立したユニットです。プロセッサはコアの集合体です (一部の ARM システムでは、プロセッサはそれ自体がコアの集合体であるクラスタの集合体です)。チップには 1 つ以上のプロセッサを搭載できます (x86 チップには単一のプロセッサが搭載されており、この意味で processor ).

ハイパースレッディングとは、コアの一部が複製されることを意味します。ハイパースレッディングを備えたコアは、2 つの「仮想コア」の集合体として表現されることがあります。これは、各コアが仮想であるという意味ではなく、複数形が仮想であることを意味します。これらは実際には個別のコアではなく、他のコアが動作している間、待機する必要がある場合があるためです。共有部分の利用。

ソフトウェアに関する限り、ほぼすべての場所で役立つ概念は 1 つだけです。実行の並列スレッドの概念です。そのため、ほとんどのソフトウェア マニュアルでは、CPU という用語は およびプロセッサ プログラム コードを実行する任意の 1 つのハードウェアを意味するために使用されます。ハードウェア用語では、これは 1 つのコア、またはハイパースレッディングを備えた 1 つの仮想コアを意味します。

したがって、top 4 つの CPU を示しています。これは、同時に 4 つのスレッドを実行できるためです。 /proc/cpuinfo 各 CPU に 1 つずつ、合計 4 つのエントリがあります (その意味で)。 processor 数字 (これは cpuNUMBER の数字です) /sys/devices/system/cpu のエントリ ) は、これら 4 つのスレッドに対応します。

/proc/cpuinfo これらの実行スレッドを実装するハードウェアに関する情報を入手できる数少ない場所の 1 つです:

physical id : 0
siblings    : 4
core id     : 0
cpu cores   : 2

cpu0 を意味します は、物理コンポーネント (プロセッサ) 番号 0 内の 4 つのスレッドの 1 つであり、このプロセッサの 2 つのうちのコア 0 にあります。


最初の質問に答えるだけです。 cat /proc/cpuinfo の出力 次の情報を確認できます:-

physical id : 0
siblings    : 4
core id     : 0
cpu cores   : 2

siblings is 4 のカウントを見ることができます そして cpu cores is 2 . cpu cores 2 であるということは、指定した Intel の URL で指定された仕様から確認できるプロセッサ内のコアの総数です。同様に siblings Intel の HTT によって提供されるスレッド数によって決定されるものです。

同様に、物理 ID の場合、その 0 これは、プロセッサ チップが 1 つしかないことを示しており、コア ID については 0 and 1 と表示されます。 つまり、プロセッサの 2 つのコアです。

更新: 他の質問への回答を追加します。

<ブロック引用>

ターボブーストはどうですか?すべてのコアはターボ ブーストされていますか、それとも物理のみですか?

そうですね、アクティブなコアはすべてターボブーストされています。やあ相棒、あなたは私たちの最愛のウィキペディアで例をチェックアウトする必要がありました.計算も含めて解説。

Any method in ubuntu to get current cpu freq. if processor is on turbo boost or not.

lscpu の出力で周波数の詳細を確認できます。 .洗練された出力:-

lscpu | grep Hz

ターミナルでこれを試すことができます:

sudo lscpu

これにより、CPU の物理特性の概要がわかります。ターボ ブーストかどうかに関しては、これは OS 自体よりも純粋にハードウェア制御であるため、Intel がプロセッサ速度を調整できる Linux 用の特定のドライバーを持っていない限り、ターボ ブーストの状態を確認する確固たる手がかりはありません (コマンド コードがない限り)。あなたの質問に関する手がかりがあれば、他のフォーラムをチェックしてください)。

私の場合、上記のコマンドを入力すると、これが得られます。私のAMDはクアッドコアだと言いましたが、ここにリストされている私の物理コアは2つだけで、コアあたり2スレッドです(合計4コアまで)。 AMD A10 APU プロセッサ 5750m を使用しています。

Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                4
On-line CPU(s) list:   0-3
Thread(s) per core:    2
Core(s) per socket:    2
Socket(s):             1
NUMA node(s):          1
Vendor ID:             AuthenticAMD
CPU family:            21
Model:                 19
Stepping:              1
CPU MHz:               2500.000
BogoMIPS:              4990.51
Virtualization:        AMD-V
L1d cache:             16K
L1i cache:             64K
L2 cache:              2048K
NUMA node0 CPU(s):     0-3

Linux
  1. Linux – / proc / cpuinfoのフラグはどういう意味ですか?

  2. Linux – / proc/mntを/proc/ mountsにリンクしますか?

  3. Linux – / proc / cpuinfo内のプロセッサの数?

  1. /proc/cpuinfo ファイルの説明

  2. FreeBSD v8.1 の /proc/cpuinfo に相当するものは何ですか?

  3. Linux /proc/loadavg

  1. Linuxは複数の連続したパスセパレーター(/ home //// username /// file)をどのように処理しますか?

  2. プロセスが実行されているフォルダーを見つける方法は?

  3. /proc/cpuinfo から物理コアを共有している HT コアを見つけます。