回答:
ポーリングの合計は、毎秒約1回だけです。最後の1秒間がどれだけ使用されたかを見ています。
CPUが少しの間50%に留まっているのを見た場合、デュアルCPUシステムで1つのCPUの100%を使用している可能性があります。
技術的にはあなたは正しいです。CPUは常に使用されているか、使用されていません。しかし、それをグラフに表示することはあまり役に立ちません。そのため、グラフは一定期間、おそらく1秒あたりのCPU使用率を平均化しています。
OSは、特定の期間にプロセスをスケジュールします。したがって、プロセスが(たとえば)10ミリ秒のうち1ミリ秒にスケジュールされている場合、10%のCPUを使用します。
(シングルスレッド、シングルCPUシステムでは)プロセスが実行されているか、実行されていないため、少し直感に反しています。つまり、100%または0%を使用しています。表示されるパーセンテージは、時間枠で測定され、実行するプロセスにタイムスロットを割り当てるOSの指標です。
I / Oにアクセスしている場合、プロセスはこれに寄与しないことに注意してください。したがって、巨大な計算をしている場合は、100%を登録します(他に何も実行しないと仮定)。その後、ネットワークパケット/ディスクアクセスなどを待機すると、プロセスがまだ実行されているにもかかわらず、CPUの数値が低下します。
平均時間に基づいています。すべてのスレッドは(優先度に基づいて)同じ時間のCPU時間を持つことができますが、スレッドは「ありがとう、私はアイドルです」と言うだけで、次のスレッドに順番を渡すことができます。そのため、プログラムは常に同じ時間を使用しているわけではなく、ほとんどのプログラムはCPUを0%消費しており、CPUを本当に必要とするプログラムは、それ自体でほぼ100%の時間がかかる可能性があります。
なぜ50%に制限されているのですか?おそらく2つのCPUコアがあり、1つだけを使用しています。
または、示唆されているように、ハイパースレッディングを使用していますが、これが正確にどのように動作するのかわかりません。