2006年09月18日

CPU使用率の取得って意外と面倒なんですね

まず、CPU使用率を量るためには、あるアプリケーションが実行を開始してからの時間Tを計測する必要がある。

次にそのアプリケーションが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使用率の測定に影響を与えることにもなりかねない。
この記事へのトラックバックURL
http://blog.sakura.ne.jp/tb/1274235
※言及リンクのないトラックバックは受信されません。

この記事へのトラックバック
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。

・おすすめ楽天ショップ1:trendyimpact楽天市場店
・おすすめサプリショップ:iHerb.com
・おすすめ楽天ショップ2:上海問屋
Powered by さくらのブログ