Windows10が何か遅い(重い)件。
イヤなのが残った。
WMI Provider Host(以下WMI)。
WMI=Windows Management Instrumentation
PC重いな と思ってタスク マネージャーを見ると、大抵コイツが上位でCPU使用率を占拠している。
Process Monitorを使って詳細を見るとこんな感じ。
出まくりやん!
※もちろんWmiprvse.exeでフィルターをかけている。
AutoscrollをONにしておくと、凄まじい勢いで流れるw
そして何をやっているか全然わからない!
WMIがCPU使用率を占拠している ってことでググると
「コイツは必要ないからサービスを停止してしまえ」という情報が見つかるけど
何を根拠に「不要」と言っているのか。
WMIについてはこのあたりがわかりやすい。
[WMI基礎] トラブルシュートの基礎知識 (1)/n : WMI の動作基盤のテストから始めよう v1.1
たとえばプロセスやアプリケーション、サービスの情報からハードウエア情報など、コンピュータ上の機能のかなりの部分を管理する仕組みみたいなものです。
それをとめるなんて とんでもない!
WMI自体止めてはいけないものなのはわかったが、じゃぁどうすんのよと。
あんまり深入りはしたくないんだが、もうちょっと調べてみると
WMIを使用した開発で、リソースを食いまくる という話を散見するので
呼び側の実装が悪いのが原因の1つと思われる。
まぁMicrosoftのことだから、呼ばれたWMIが暴走している可能性も十分あり得るんだけどw
ひとまずWMIのログを確認しよう。
窓ボタン右クリック → イベント ビューアー
→ アプリケーションとサービス ログ → Microsoft → Windows → WMI-Activity → Operational
エラー出まくってんじゃねーかよ(ノ∀`)
内容はこんな感じ
ID = {00000000-0000-0000-0000-000000000000}; クライアント コンピューター = ******; ユーザー = NT AUTHORITY\SYSTEM; クライアント プロセス ID = 9508; コンポーネント = Unknown; 操作 = Start IWbemServices::CreateInstanceEnum - Root\cimv2 : Win32_LogicalDisk; 結果コード = 0x80041032; 考えられる原因 = Throttling Idle Tasks, refer to CIMOM regkey: ArbTaskMaxIdle
ID = {00000000-0000-0000-0000-000000000000}; クライアント コンピューター = ******; ユーザー = NT AUTHORITY\SYSTEM; クライアント プロセス ID = 19664; コンポーネント = Unknown; 操作 = Start IWbemServices::ExecQuery - ROOT\CIMV2 : Select * from Win32_OperatingSystem; 結果コード = 0x80041032; 考えられる原因 = Unknown
※見やすいように改行入れた
プロセスIDは上記2つ以外にも出ている。
結果コード = 0x80041032 は WBEM_E_CALL_CANCELLED
内容は
Asynchronous process has been canceled internally or by the user. Note that due to the timing and nature of the asynchronous operation, the operation may not have been truly canceled.
・・・・・。
「内部的 or ユーザによってキャンセルされた」か。
これ以上深入りするのはやめよう。
プロセスIDが出てきたので、タスク マネージャーの「詳細」タブから調べてみる。
見つからないプロセスIDがいくつかあるのは、プロセスが終了しているから なので追うことはできない。
諦めましょう。
その中でダントツに出まくっているプロセスIDが上記2つ(9508 と 19664)。
9508:Dell SupportAssist Remediation
19664:DDVDataCollector (Dell Data Vault Colloctor)
DELLが原因かっ・・・・!
どうしてくれようか・・・(#^ω^)
[]