3流プログラマのメモ書き

元開発職→社内SE→派遣で営業支援の三流プログラマのIT技術メモ書き。 このメモが忘れっぽい自分とググってきた技術者の役に立ってくれれば幸いです。(jehupc.exblog.jpから移転中)

Google Desktop でシステムモニタガジェットを追加するとCPU使用率が上がる(前編)

最近タスクマネージャ見てるとやけにCPU使用率が高いことに気付きました。

アイドル時でも40-50%ほどは食いつぶしてます。

で、タスクマネージャのパフォーマンスタブ見ると、カーネルがほとんどの割合占めてることが分かりました。

それから、プロセスタブでどのプロセスが食いつぶしてるのか見ると、"System" になってます。

ここでもやはりカーネルでCPUが時間とられてることがわかります。

以前から、GoogleDesktopを落とすとCPU使用率が下がるのは気づいてたので、試しにまずGoogleDesktopのガジェットを一つ一つ外してみました。

すると、ビンゴ、システムモニタガジェットを外すと変化があったのです。

こいつが犯人です。

システムモニタありとなしの場合のCPUの状態をVistaのパフォーマンスモニタで確認してみました。

カウンタに追加したのは Processor \ % Processor Time (_Total) , Process \ % Processor Time (System) , Process \ % Processor Time (_Total) , Process \ % Processor Time (GoogleDesktop) です。

ここで、パフォーマンスモニタのプロセスタイム周辺の理解がちゃんとできてなかったんで、メモしときます。

まずProcessor \ % Processor Time (_Total)です。

これは説明見ると「プロセッサがアイドル以外のスレッドを実行するために使用した経過時間の割合をパーセントで表示します。」とあるので、タスクマネージャにでてくるCPU使用率と同じものですね。簡単に言うとIdle以外のプロセスの合計+カーネル(OS)のことです。

値の上限は100(100%)です。

次に曲者だったProcess \ % Processor Time (System)

監視するインスタンスは "System" です。

で、どうやらこの値は論理CPU数によって上限が異なるらしいのです。

1CPUなら100,2CPUなら200という具合に。。。

なので、タスクマネージャのプロセスタブで確認してた値と、パフォーマンスモニタの値が倍くらい違ってたのはこのせいだったんですね。(ほんと紛らわしい!)

で、Process \ % Processor Time (_Total)というのは Process _Total以外 の合計値(アイドル状態含む)なので 使用率+未使用率-カーネル使用率 というらしいですね。

詳しくは参考にしたを参照のこと。

下記が GoogleDesktop でシステムモニタガジェットを表示してる状態のパフォーマンスです。

システム全体のCPU使用率(赤)が40-50%ほどになってます。

また System (青)が最大値100%換算すると30-40%ほど食いつぶしてますね。(2コアなので、 Process \ % Processor Time (System) は上限値 200)

緑の Process \ % Processor Time (_Total) は、うーん、、こんなもんなんでしょうか。(まだここ理解不足)

水色の GoogleDeskop自体のプロセスはほとんど使用されてません。

そして下記がガジェットからシステムモニタをのけた値です。

ずいぶんCPU全体の使用率が変わりました。

後編はこちらです。