次にそのアプリケーションがCPUを占有していた時間tを計測する必要がある。
単純なCPU使用率というのはこのtをTで割ったものに100を掛けたものである。
タスクマネージャでグラフを書いたときに、背景の面積とCPU使用率の山グラフの面積の比で表される部分ですね。
では、ある瞬間の時刻(i)のCPU使用率はどのようにして計算するのかといえば、瞬間のCPU使用率なんて測定は不可能であり、特定の時間間隔xの間にどれだけCPU時間を消費したかを知る必要がある。
つまり CPU使用率Rは
R(i) = ( t(i)-t(i-x) ) ÷ (T(i) - T(i-x) ) × 100
・・・ T(i),t(i) はある時刻iのときの各値。
として表される、この特定の時間間隔xを短い値(100ミリ秒)などに設定すればほぼリアルタイムでCPU使用率をモニターできるが、CPU使用率を測定するプログラムが逆に負担を掛けてしまいCPU使用率の測定に影響を与えることにもなりかねない。
【アプリケーション開発ネタの最新記事】
http://blog.sakura.ne.jp/tb/1274235
※言及リンクのないトラックバックは受信されません。
この記事へのトラックバック