web-dev-qa-db-ja.com

どのように私のコンピュータは300%のPC処理能力を使うことができますか?

私はスクリプトを使って遊んでいますが、うんざりしてしまいました(今でもまだ実行中ですし、まだコンピュータは死んでいません)。私はスクリプトを17回実行しています(私のコンピューターをクラッシュさせるつもりで)。

アクティビティモニターを見ると、各Pythonプロセスには固有のpidがあり、それぞれが私の処理能力の約17〜20%を占めるように見えます。これはどのように可能ですか?私のコンピュータは魔法の力で200%のパワーを伸ばし、そしてどこかで熱力学の法則を破りましたか?

Enter image description here

65
Frankenmint

OS Xでは、他の* nixと同様に、CPU負荷は仮想プロセッサコアごとに測定されます。あなたが複数ある場合 - あなたは全負荷の下で200%以上を組み合わせることができます。

これは、Windowsとは異なり、CPU負荷がCPU全体(またはCPU - 複数の物理プロセッサを使用している場合の動作方法を思い出せない)ごとに計算される他のシステムとは異なります。

101
Vasfed

OS XとLinuxそしておそらく他のUNIXオペレーティングシステム(あるいはこれらのシステムで最も一般的なツール)はWindowsと異なったCPU使用率を表示します。 Windowsでは、100%は「allCPUリソースの使用」を意味します。 Linuxでは、(ハイパースレッディングのように)1つの「スレッド」が完全にビジーです。そのため、合計で(Number of Threads per Core) * (Number of Cores per CPU) * (Number of CPUs)に達することがあります。

完全には関連していませんが、別の興味深い事実として、Windows 10はCPUの現在のスロットル状態を使用してCPU使用率をさらに正規化します。そのため、1 GHzで調整された2 GHz CPUは、最大50%しかビジーになりません。

81
Daniel B

すでにいくつかの回答で指摘されているように、Macは各プロセスのCPUパーセンテージを '1コアのパーセンテージ'として示しているので、それをコアの数で割るべきです[HTを 'double'として]

仮想コアの数がわからない場合は、 Cmd ⌘3 Activity Monitorの[CPU History]ペインが表示されます。ここで、単純にストライプを数えることができます。

enter image description here

画像を切り落とした場所のすぐ下に、System :、ユーザー、&アイドルの実際の合計使用量をすばやく判断するために必要な情報があります。単純な合計が100%になっています

enter image description here

12
Tetsujin

アクティビティモニターは実際には各アプリ/プロセスが使用する処理能力を測定するのではなく、単にアルゴリズムを使用して見積もります。それは不正確になる可能性があります...

また@Vasfedが指摘するように、CPUの消費はプロセッサコアごとに測定されます。マルチコアは100%以上の使用率を意味することができます...

オタクは時折この現象に遭遇し、スーパーユーザーが彼の助けを借りるまでばかげています...; D

6
rahuldottech