CPU負荷を調べてみると、コア数によって変わるという事実を発見しました。コアが2つある場合、2つをロードするとCPU使用率が100%になります。
それで核心を調べようとしました。 (システムにコア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つのプロセッサを示しています。誰でもこの出力を説明できますか?
私のCPU負荷が3.70の場合、これは最大負荷ですか?その当時、CPUはまだ50%未満でした。
ターボチャージャーはどうですか?すべてのコアがターボ加速ですか、それとも物理コアですか?
Ubuntuでプロセッサがターボ加速状態にあることを確認するために現在のCPU周波数を取得する方法はありますか?
負荷は3.70で約100%です。ただし、IO応答時間のため、CPU使用率は100%に達しません。これは、IOデバイスが最大速度に達するという意味ではありませんが、IOデバイスが100%使用されているため、IOを使用するアプリケーションに影響を与えることがあります。たとえば、音楽が中断される可能性があります。
答え1
「CPU」、「プロセッサ」、および「コア」という単語は、やや混乱した方法で使用されます。これはプロセッサのアーキテクチャを表します。コアは、汎用プロセッサを実装する最小の独立したデバイスです。プロセッサはコアの集まりです。一部のARMシステムでは、プロセッサがクラスタのコレクションであり、クラスタ自体がコアのコレクションです。チップは1つ以上のプロセッサを含むことができる。つまり、x86 チップにはプロセッサが含まれています。プロセッサ)。
ハイパースレッディングは、コアの特定の部分が複製されることを意味します。ハイパースレッディングを含むコアは、時々2つの「仮想コア」の組み合わせで表されます。これはすべてのコアが仮想ではないという意味ですが、複数形はコアが実際には別のコアではないため、時には別のコアを待たなければならない場合があります。走るもの。共有セクションを活用してください。
ソフトウェアに関する限り、どこにでも存在する概念は1つだけです。すぐに並列実行スレッドのコンセプトです。したがって、ほとんどのソフトウェアマニュアルではこれらの用語を使用しています。CPUそしてプロセッサプログラムコードを実行するハードウェアを表すために使用されます。ハードウェアに関しては、ハイパースレッディングを含むコアまたは仮想コアを意味します。
同時にtop
4つのスレッドを実行できるため、4つのCPUが表示されます。/proc/cpuinfo
(その意味では)各CPUに1つずつ、合計4つの項目があります。この数(つまり、processor
の項目数)は4つのスレッドに対応します。cpuNUMBER
/sys/devices/system/cpu
/proc/cpuinfo
どのハードウェアがこれらの実行スレッドを実装しているかについての情報を得ることができる数少ない場所の1つです。
physical id : 0 siblings : 4 core id : 0 cpu cores : 2
これはcpu0
、物理コンポーネント0(プロセッサ)内の4つのスレッドの1つであり、そのプロセッサの2つのコアのうち0番目のスレッドにあることを意味します。
答え2
最初の質問にお答えします。出力に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はスレッド数によって決まる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
答え3
端末でこれを試すことができます:
sudo lscpu
これは、CPUの物理的特性の概要を提供します。 Turbo Boostかどうかはオペレーティングシステム自体ではなく純粋にハードウェア制御なので、Intelにプロセッサ速度を調整できるLinux用の特定のドライバがなければ、Turbo Boostの状態を確認する信頼できる方法はありません。問題に関する手がかりがある場合は、別のフォーラムでコードを確認するコマンドです。
私には上記のコマンドを入力するとこれが表示されます。私の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
答え4
システム負荷とCPU%は、CPUの電力使用量を測定する2つの方法です。
- システム負荷:CPUごとに「準備」されたプロセスの数 - 時間の経過による平均。最大1 * cpu(あなたの場合は最大4つ)システムはほぼアイドル状態と見なされます(平均して支払いごとに待機している顧客が1人だけのスーパーマーケットと比較)。最大2 * cpu(あなたの場合8)までの待ち時間は発生しません。
- cpu%: プロセスを実行して CPU が実際に動作した時間です。カウンセラーの観点ではなく、むしろ監督の視点では、彼らはいつも忙しいことを望むようなものです。
2つの測定値は互いに関連していますが、同じではありません。