私はスクリプトで遊んでいますが、夢中になりました(まだ実行中ですが、コンピューターはまだ死んでいません)。スクリプトを17回繰り返し実行しています(コンピューターをクラッシュさせる目的で)。
アクティビティモニターを見ると、各Pythonプロセスには一意のpidがあり、それぞれの処理能力の約17〜20%を占めているように見えます...それはどのように可能ですか?私のコンピューターは魔法のように200%の電力を増加させ、どこかで熱力学の法則を破ったのでしょうか?
私はスクリプトで遊んでいますが、夢中になりました(まだ実行中ですが、コンピューターはまだ死んでいません)。スクリプトを17回繰り返し実行しています(コンピューターをクラッシュさせる目的で)。
アクティビティモニターを見ると、各Pythonプロセスには一意のpidがあり、それぞれの処理能力の約17〜20%を占めているように見えます...それはどのように可能ですか?私のコンピューターは魔法のように200%の電力を増加させ、どこかで熱力学の法則を破ったのでしょうか?
回答:
OS Xでは、他の* nixと同様に、CPU負荷は仮想プロセッサコアごとに測定されます。複数ある場合-全負荷で200%以上を組み合わせることができます。
これは、CPU負荷がCPU全体(またはCPU-複数の物理プロセッサを持つ場合の動作を覚えていない)ごとに計算されるWindowsや他のシステムとは異なります。
OS XとLinuxおよび他のUNIXオペレーティングシステム(またはこれらのシステムで最も一般的なツール)は、Windowsとは異なるCPU使用率を表示します。Windowsでは、100%は「使用されるすべての CPUリソース」を意味します。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%になります。
top
たとえば、このように動作することは間違いありません。
いくつかの回答で既に指摘したように、Macは各プロセスのCPUの割合を「1コアの割合」として表示するため、コアの数で割る必要があります[HTを「ダブル」として含む)
使用している仮想コアの数がわからない場合は、 Cmd ⌘ 3 アクティビティモニターの[CPU履歴]ペインが表示されます。ここでは、ストライプを簡単にカウントできます;)
画像を切り取った場所のすぐ下には、System:、User :、およびIdle:の実際の合計使用量をすばやく判断するために必要な情報があります。
アクティビティモニターは、各アプリ/プロセスが使用する処理能力を実際に測定するのではなく、アルゴリズムを使用して推定します。そのため、不正確になる可能性があります...
また、@ Vasfedが指摘しているように、CPU消費量はプロセッサコアごとに測定されます。複数のコアは、100%を超える使用率を意味する場合があります...
オタクは時折この現象に出くわし、スーパーユーザーが彼の助けに来るまでひどく驚かされます...; D