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

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

CPUの負荷について学んでいるうちに、コアの数に依存することがわかりました。コアが2つある場合、負荷2は100%のCPU使用率になります。

そこで、コアを見つけようとしました(システムに2つのコア、4つのスレッド、2つの仮想コアがあることはすでに知っています)。そこで、cat /proc/cpuinfoを実行しました。
私に与えた

processor   : 0
vendor_id   : GenuineIntel
cpu family  : 6
model       : 69
model name  : Intel(R) Core(TM) i7-4500U CPU @ 1.80GHz
stepping    : 1
microcode   : 0x17
cpu MHz     : 774.000
cache size  : 4096 KB
physical id : 0
siblings    : 4
core id     : 0
cpu cores   : 2
apicid      : 0
initial apicid  : 0
fpu     : yes
fpu_exception   : yes
cpuid level : 13
wp      : yes
flags       : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 fma cx16 xtpr pdcm pcid sse4_1 sse4_2 movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm ida arat epb xsaveopt pln pts dtherm tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid
bogomips    : 3591.40
clflush size    : 64
cache_alignment : 64
address sizes   : 39 bits physical, 48 bits virtual
power management:

processor   : 1
vendor_id   : GenuineIntel
cpu family  : 6
model       : 69
model name  : Intel(R) Core(TM) i7-4500U CPU @ 1.80GHz
stepping    : 1
microcode   : 0x17
cpu MHz     : 1600.000
cache size  : 4096 KB
physical id : 0
siblings    : 4
core id     : 0
cpu cores   : 2
apicid      : 1
initial apicid  : 1
fpu     : yes
fpu_exception   : yes
cpuid level : 13
wp      : yes
flags       : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 fma cx16 xtpr pdcm pcid sse4_1 sse4_2 movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm ida arat epb xsaveopt pln pts dtherm tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid
bogomips    : 3591.40
clflush size    : 64
cache_alignment : 64
address sizes   : 39 bits physical, 48 bits virtual
power management:

processor   : 2
vendor_id   : GenuineIntel
cpu family  : 6
model       : 69
model name  : Intel(R) Core(TM) i7-4500U CPU @ 1.80GHz
stepping    : 1
microcode   : 0x17
cpu MHz     : 800.000
cache size  : 4096 KB
physical id : 0
siblings    : 4
core id     : 1
cpu cores   : 2
apicid      : 2
initial apicid  : 2
fpu     : yes
fpu_exception   : yes
cpuid level : 13
wp      : yes
flags       : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 fma cx16 xtpr pdcm pcid sse4_1 sse4_2 movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm ida arat epb xsaveopt pln pts dtherm tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid
bogomips    : 3591.40
clflush size    : 64
cache_alignment : 64
address sizes   : 39 bits physical, 48 bits virtual
power management:

processor   : 3
vendor_id   : GenuineIntel
cpu family  : 6
model       : 69
model name  : Intel(R) Core(TM) i7-4500U CPU @ 1.80GHz
stepping    : 1
microcode   : 0x17
cpu MHz     : 774.000
cache size  : 4096 KB
physical id : 0
siblings    : 4
core id     : 1
cpu cores   : 2
apicid      : 3
initial apicid  : 3
fpu     : yes
fpu_exception   : yes
cpuid level : 13
wp      : yes
flags       : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc aperfmperf eagerfpu pni pclmulqdq dtes64 monitor ds_cpl vmx est tm2 ssse3 fma cx16 xtpr pdcm pcid sse4_1 sse4_2 movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm ida arat epb xsaveopt pln pts dtherm tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid
bogomips    : 3591.40
clflush size    : 64
cache_alignment : 64
address sizes   : 39 bits physical, 48 bits virtual
power management:

今、私は完全に混乱しています。 2つのCPUコアを備えた4つのプロセッサが表示されます。
この出力について誰かが説明できますか?

関連:Linux – netfilter / iptables:rawテーブルを使用しないのはなぜですか?

CPUの負荷が3.70になったら、これは最大負荷ですか?それでも当時のCPUは<50%でした。

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

プロセッサがターボブーストされているかどうかを確認するために現在のCPU周波数を取得するUbuntuの方法はありますか?

負荷は3.70まで約100%でした。ただし、IO応答時間のため、CPU使用率は100%ではありませんでした。これは、IOデバイスが最大速度になることを意味するわけではありませんが、ioデバイスは100%ビジーであり、IOを使用するアプリケーションに影響を与えることがあります。例:音楽が途切れる可能性があります。

承認された回答:

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

ハイパースレッディングとは、コアの一部が複製されることを意味します。ハイパースレッディングを備えたコアは、2つの「仮想コア」の集合体として表示されることがあります。つまり、各コアは仮想ではなく、複数形は仮想です。これらは実際には別々のコアではなく、他のコアが共有パーツを利用する。

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

したがって、top 同時に4つのスレッドを実行できるため、4つのCPUが表示されます。 /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にあります。


Linux
  1. Unix / Linux でプロセスのパスを取得するにはどうすればよいですか

  2. Linux /proc/loadavg

  3. /dev/shm/ と /tmp/ はいつ使用する必要がありますか?

  1. Linux/procファイルシステムの調査

  2. AES-NI が CPU でサポートされていることを確認するにはどうすればよいですか?

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

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

  2. Linux – / proc / pid / fd / xリンク番号?

  3. Linux –ブロックデバイスが/sysまたは/procから読み取り専用かどうかをテストする方法は?