2006年11月03日

CPU使用率の分解能は1%刻みが妥当かなぁ

NN Space BLOG-NN空間ブログ: CPU使用率取得、テキストログ作成 RC1

これで作成したCPU使用率ログを眺めていると、CPU使用率が低いときに特定の数値が並ぶことに気がついた。

0%から10%までに出現したパターンをすべて挙げてみよう
0
0.39
0.78
1.17
1.56
1.95
2.34
2.73
3.13
3.52
3.91
4.3
4.69
5.08
5.47
5.86
6.25
6.64
7.03
7.42
7.81
8.2
8.59
8.98
9.38
9.77

なんと、これだけしかない。

暗算の得意な方ならば気がつくだろう、これらの隣り合った数字の差は
大半が0.39、残りが0.4になっているのです。

このツールでCPU使用率を取得する方法はパフォーマンスカウンタというOSの機能を使っています。

この方法を使うとCPU使用率(%)の分解能は 0.39ないし0.40となるのではないかと想像します。(あまり詳しくは調べていないけど)

XX.YYの精度で記録していてもほとんど最後の2桁は2つか3つほどのパターンしかないわけです。
1%台ならば、1.17, 1.56, 1.95 だし、2%台ならば 2.34, 2.73 の2通りだけしかとり得ない事になります。
(私のPC環境ではそういう結果になっている、ログ記録間隔を2000や、1000ミリ秒に変えても一緒)

XXという2桁パーセント表示に比べて 2〜3倍の解像度しかないわけです。パフォーマンスカウンタの精度は。(こんなことを断言してしまってよいのか?)

もっと高解像度のCPU使用率取得ができる方法を調査中です。(.netで)


###なんかちょっと安心した###
愛用のProcessExplorerで、CPU使用率を詳細表示するオプションにしてみたらどうなるのかやってみた。
・View>Show Fractional CPU にチェック。
PESCPU_FRAC_20061103_221104.png
こちらもパフォーマンスカウンタから持ってきたかのような、0.78, 2.34 という値が並んでいた。
ProcessExplorerをしばらく見ていると, 1.54 など予想を裏切らない数値が表示されていく・・・・
0.77 など予想外数値も出てくるが基本的に決まりきったパターンがありそうな羅列かなと思った。
プロセス実行切り替えの最小単位などに起因するものだろうか??

とりあえず私の作ったツールも、ProcessExplorerと似た精度なので別にこのままでいいかなと思えてきた。
あとはボタン類の配置とか、少々使いやすく修正すれば正式版としての公開できそう、ですね。
この記事へのトラックバックURL
http://blog.sakura.ne.jp/tb/1644275
※言及リンクのないトラックバックは受信されません。

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

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

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


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

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