ノートパソコンの負荷が高い
Firefoxがメモリ食いなので、LaVie LN500/R では Vista のサイドバーガジェットの TopProcesses でメモリ使用量を表示させていたが、同時にプロセスのCPU使用量も表示させようとしても、このガジェットではどちらかしか選択できない。それで、同じガジェットを2つサイドバーに貼り付けて、それぞれ別表示の設定として使用していた。
これで眺めていると、何やら急に Firefox とアイオーデータのワンセグ SegClip の OneSegPc.exe のCPU負荷が高くなっていて、両方とも 20~30% 程度を占めるようになり、全体でほとんどCPU使用率が100%となってしまっていた。(特に OneSegPc.exe のほうは、何も表示せず常駐しているだけでこの使用量になってしまう…)。
目ぼしい対処の方法も見つからず、そのままになっていたのだが、そうこうしているうちに Cygwin のターミナル上で、ファイルをコピーしている際にWindows自体が異常終了し再起動となってしまった。ところが、これがよかったのか、その後はどちらのプロセスも常時は7~10%程度に落ち着くようになった。
と思って見ていると、今度はちょこちょこ上位に現れて15%程度を占めるプロセスに WmiPrvSE.exe というものが出てきた。なんじゃこりゃと思ったが、実行されているファイルはC:\WINDOWS\System32\wbem\にあり、よく指摘されているようなウィルスではないらしい。
- wmi-remote-execquery-execqueryasync-wbemflagforwardonly-count.aspx
- How do I get rid of wmiprvse.exe that’s eating 100% CPU power?
- [WMI基礎] Remote で動作する仕組み + ExecQuery と ExecQueryAsync の違い
- How to disable wmiprvse.exe – Operating Systems
正規のWindows関連ファイルであれば、WmiPrvSE.exe は DCOM サービスを停止すれば動作しなくなるというので、dcomcnfg.exe からこれを停止してみたが相変わらず効果がない。
また、これがサイドバーガジェットの TopProcesses には表示されるものの、なぜかタスクバーのプロセス表示には現れない。
Microsoft謹製?のProcess Explorerというツールでプロセス表示をさせてもイマイチよくわからん。(→後からみるとView→Select Columns→Process PerformanceでI/O Reads/Writesなどを表示させているとよかったかも?)。
となると、ウィルスの可能性もまだありそうだし、これを特定すべく、とりあえずこれまでいじってなかったWindows サービスの調整作業に…。
上記の方の停止例を参考にサービスをバシバシ止めていったが、「Desktop Window Manager Session Manager」を止めるとデスクトップ上のファイルやサイドバーも表示されなくなり、「Windows Audio」を止めると音が出なくなり、「Network Connections」あたりを止めるとダイアルアップの表示がネットワーク表示にでなくなったりしたので、これらはそのまま使用することとした。
で、これでサービス自体はかなり整理されたはずだが、まだWmiPrvSE.exeの悪行は治まらない…。
フリーのプロセス表示ツールで Process Hacker というのが見つかったので、これで様子を眺めてみることに。
該当する2つのWmiPrvSE.exeがあるが、ユーザ名はSYSTEMとNETWORK SERVICEと異なっており、どうも後者のほうが今回の原因になっている模様。
さらに、「I/O R+O」「I/O W」に加え「I/O History」も表示させてみた。最後の「I/O History」は時系列的にI/Oアクセスをグラフ表示してくれるので、様子が把握しやすい。
それはともかく、これで様子を見ながら該当プロセスをサスペンドしたりしてみていると、OneSegPc.exeが
止まったり、なんと TopProcesses の更新が止まったりしている。
どうやら原因は、TopProcesses の更新頻度がデフォルトで5秒となっていたのが原因だったらしい…。回り回って「お前かッ!!」って感じ…。表示の更新頻度をメモリ使用量用は30秒、CPU使用量用では15秒程度にするとWmiPrvSE.exeの挙動は落ち着いた。
あとから、Firefoxのタブで検索していて開きっぱなしになっていた記事を見たらまさしくその内容のものがあったという…。
- 【Vista】Windowsサイドバーとガジェット Part4
- 2つにして5秒間隔にしたらかなり負荷減った
なお、2つのWmiPrvSE.exeのうち、NETWORK SERVICEでない、SYSTEMのほうのものは定期的にI/Oアクセスがあるのだが、これは何をしているものなのかちょっとわからない(サスペンドしてみても特に影響はないようだが…)。
ということで、WmiPrvSE.exe のほうは(Vistaでは?)DCOM以外でも使われているようですね。
また、他にプロセスを眺めていると常時I/Oアクセスしているものに dmsf.exe というものがあって、検索してみるとこれは NEC のメディアガレージというツール関連のものらしい。使用していないので停止した。