質問
WindowsタスクマネージャーはCPU使用率をパーセンテージで表示します。この背後にある式は何ですか?これですか:
プロセスAの%CPU使用率=(合計 今までAに与えられたすべてのタイムスライス)/ マシンが起動してからの合計時間
それとも別のものですか?
解決
使用するものが100%確かなわけではありませんが、CPUの計算が少しおかしいと思います。
彼らは次のようなことをしていると思います。
Process A CPU Usage = (Cycles for A over last X seconds)/(Total cycles for last X seconds)
「更新間隔」に関連付けられていると思いますタスクマネージャで設定します。
私はを見つけましたが、少しの調査を行っています。マイクロソフトが推奨する一連の命令のCPU時間を計算する方法を示すこのMSDN の記事では、計算にも少し注意を向ける可能性があります。
他のヒント
いいえ、「ブート時間以降」ではありません。 -それよりもはるかに時間に敏感です。
「最後の更新以降、CPUがそのプロセスでスレッドをアクティブに実行していた時間の割合」です。 (通常、リフレッシュレートは約1秒です。)タスクマネージャーでは、CPUの数で除算されるため、合計は100%になります(つまり、デュアルコアマシンでは、シングルスレッドのCPUホグが表示されます) 50%として)。他の同様のプログラムでは、これを行わない場合があり、合計で100%*コアを提供します。
この記事を次のように確認することもできます。スケジューリングに関するCPUサイクルの処理方法は、Vistaの一部として変更されました。これはWin7にも当てはまると思います。
タスクマネージャーのソースコードを参照
所属していません StackOverflow