Windows10のパソコンを使用していると「COM Surrogate(dllhost.exe)」というプロセスがCPUやディスク、メモリに高負荷をかけることがあります。
さらにはパソコンが重くなるだけでなく、「Com Surrogateによってファイルは開かれているため、操作を完了できません」というようなエラーメッセージが表示されてファイルのコピーや削除ができないといった症状も状況により発生することが確認されています。
本記事では、COM Surrogateのプロセスの正体と動作が重い時の対処方法を解説します。
この記事の内容
Com Surrogateとは
COM Surrogate(Microsoft DCOM DLL Host Process)は、Windowsに標準で組み込まれているプロセスです。
主にファイルエクスプローラ上のサムネイル作成や、特定のアプリケーション及びサービスの実行を行います。
なお、COM Surrogateのコンポーネントは「dllhost.exe」です。Windowsのバージョンや表示場所等により名称が使い分けられますが、「COM Surrogateとdllhost.exeは同じもの」という認識で問題ないです。
COM Surrogateはウィルス?
COM Surrogateについて調べるとウイルスの情報が表示されたり、稀にセキュリティソフトにウイルスとして検知されたりすることもあるようです。
COM Surrogateは、Windowsのプロセスのためウイルスではありません。
ただし無害なプログラムに偽装するウイルスも存在するため、心配であればセキュリティソフトを使ってウイルススキャンを行って下さい。
停止しても大丈夫?
COM Surrogateはシステムに必要なプロセスですので、アンインストールしたり完全に無効化することはできません。
ただし、一時的に動作を止めることに問題はありません。そのため、症状が一時的なものであればCOM Surrogateを停止させてエラーを回避する『対処1: タスクマネージャから終了させる』が簡単でおすすめです。
しかし、プロセスの終了では根本的な問題解決にはならないため、症状が再発する恐れがあります。同様のトラブルが頻繁に起きる場合には、その他の対処方法も試してみて下さい。
Com Surrogateが重い時の対処法
対処1: タスクマネージャから終了させる
この方法ではタスクマネージャからCOM Surrogateを停止させることで、CPUへの高負荷・エラーメッセージなどのトラブルを解消します。
次の手順で操作を行ってください。
- タスクバーにある「スタート」ボタンを右クリックし、「タスクマネージャ」を選択します。
- 「タスクマネージャ」ウィンドウが表示されます。ウィンドウ左下にある「詳細」の文字をクリックして詳細表示に切り替えます。
- 既に詳細表示になっている場合はこの操作は不要です
- 「プロセス」タブを開きます。そして中央のリストから「COM Surrogate」の項目を探し、クリックして選択状態にします。
- ウィンドウ右下にある「タスクの終了」ボタンをクリックします。
- リストで選択した「COM Surrogate」が消去され、COM Surrogateプロセスの動作が停止します。
- リストに複数の「COM Surrogate」がある場合は手順3-4を繰り返し、すべてのCOM Surrogateを停止させます。
- すべてのCOM Surrogateを停止させたらウィンドウ右上のバツボタンをクリックしてタスクマネージャを終了します。
操作が終わったらトラブルが解消されたか確認してください。
もし解消されていない場合、COM Surrogateの他にも問題を起こしているアプリやプロセスがあるかもしれません。タスクマネージャなどを使って症状を詳しく調べてみて下さい。
問題は解消されるものの何度も再発する場合は、次の対処方法も試してみてください。
対処2: Windowsを最新版にアップデートする
COM SurrogateのようなOSに標準でインストールされているプログラムやサービスに異常が起きた時、多くの場合OSのアップデートやリカバリーで解決できます。
特に古いOSを使い続けていると他にも様々なシステムトラブルの原因になりますので、OSが最新のものに更新されていなければ必ずWindowsのアップデートを行ってください。
Windowsアップデートの手順については次のリンク先の内容をご参照ください。
対処3: 最新のグラフィックドライバーに更新する
グラフィックドライバーが原因となるケースもあります。グラフィックカードまたはパソコンのメーカーサイトから最新のドライバーをダウンロード・インストールしてみてください。
それでも解決しない場合、逆に古いバージョンのグラフィックドライバーにロールバックすることで改善できるケースもあります。
これまで問題なかったのに急に問題が発生するようになった場合や、トラブルの原因にドライバーのアップデートが疑われる場合は、グラフィックドライバーの古いバージョンのインストールを試してみて下さい。
対処4: 問題の原因となっているファイルを探す
OS・ドライバーのアップデートで改善しなければCOM Surrogateが異常を起こしている原因を探します。
COM Surrogateの場合、破損した画像・動画ファイルが原因でサムネイルの作成に失敗し続けているというケースが多いです。
次の手順で、サムネイルの作成に問題が起きている画像や動画ファイルを探します。
1.サムネイルのキャッシュを削除する
まず、生成されているサムネイルのキャッシュを削除します。
- 調査の前に、まずエクスプローラのサムネイル表示をオフにします。ファイルエクスプローラ(タスクバーの黄色いフォルダアイコン)を開きます。
- ウィンドウ上部の「ファイル」ボタンをクリックし、「オプション」を選択します。
- フォルダーオプションウィンドウが表示されます。「表示」タブを開き、中央のリストから「常にアイコンを表示し、縮小版は表示しない」の項目にチェックを入れ、「適用」をクリックします。
- 続いてディスククリーンアップを使ってこれまでに作成されたサムネイルを一旦消去します。ファイルエクスプローラ上で「PC」のアイコンをクリックして開きます。
- Windowsのインストールされているドライブ(通常は「ローカルディスク(C:)」です)をクリックして選択状態にします。
- ドライブを選択状態にするとウィンドウ上部に「ドライブツール」メニューが表示されます。「ドライブツール」をクリックし、「クリーンアップ」を選択します。
- 「ディスククリーンアップ」ウィンドウが表示されたら、「削除するファイル」リストの中にある「縮小表示」の項目にチェックを入れて「OK」をクリックします。
- 確認メッセージが表示されたらもう1度「OK」をクリックし、クリーンアップが完了するまで待ちます。
2.COM Surrogateのアクセス状況を調べる
サムネイルの削除ができたら、プロセスモニタリングツールを使ってCOM Surrogateのファイルアクセス状況を調べていきます。
プロセスモニタリングツールはいくつか存在しますが、Microsoftが公開しているフリーソフトのProcess Monitorなどが使いやすいです。本記事ではProcess Monitorを使った手順を紹介します。
- Process Monitorを『Microsoft公式ページ』からダウンロードします。
- ダウンロードが完了したらProcess Monitorを起動して下さい。
- Process Monitorを起動するとフィルターの設定画面が表示されます。次の条件を指定します。
[Process Name] [is] [dllhost.exe] then [include]
- 1番左の「Architecture」を「Process Name」にし、中央の空欄にdllhost.exeと入力すれば良いです。
- 条件を指定したら「Add」ボタンをクリックした後、「Apply」ボタン、「OK」ボタンの順にクリックします。
- dllhost.exeのファイルアクセス状況が表示されます。リストを調べ、同じファイルに連続でアクセスしている状態が発生していないか確認して下さい。
- 例えば、「Path」の列に同じファイル名がいくつも並んでおり、特にそれが画像ファイルや動画ファイルであった場合は、そのファイルがトラブルの原因になっていることが考えられます。
- エクスプローラで該当ファイルを表示して削除するか、ファイルの状態を詳しく調べてみてください。
操作が終わり問題が解決した場合は、フォルダーオプション「常にアイコンを表示し、縮小版は表示しない」は元に戻して構いません。
対処5: 動画プレイヤーやコーデックをアップデートする
使用している動画プレイヤーやコーデックコーデックのバージョンが古いことが原因で、COM Surrogateのプロセス負担が高くなるケースがあります。
そのため、動画ファイルが多い場合は、動画プレイヤーもしくはコーデックを最新のバージョンにアップデートしてみて下さい。
対処6: ファイルシステムを修復する
ハードディスクのファイルシステムが破損していることが原因で、COM Surrogateのディスクの使用率が高くなるケースがあります。
そのため、チェックディスクを実行してファイルシステムの修復を試してみてください。チェックディスクを実行するには、次の手順で操作します。
- 「Windowsマーク」を右クリックして「Windows PowerShell(管理者)」を選択します。
- コマンドプロンプトが表示されたら、次のコマンドを入力してエンターを押します。
chkdsk c: /f
- 再起動時に実行するかどうか聞かれるので、「y」を入力してEnterを押します。
- PCを再起動します。PCが再起動すると、自動的にチェックディスクが実行されます。
対処7: セキュリティソフトでウイルススキャンを実行する
COM Surrogateになりすました同名のウイルスやマルウェアに感染している恐れが少なからず考えられます。
そのため、ここまでの対処方法を試してもプロセスの負担が異常に重い場合は、セキュリティソフトでウイルススキャンを実行してみてください。
標準のWindowsセキュリティのスキャンを実行するには、次の手順で操作します。(*サードパーティのセキュリティソフトを使っている場合は、マニュアルなどを参照してください。)
- Windowsキーを押してスタートメニューを開きます。
- 設定アイコンをクリックして「Windowsの設定」を開きます。
- 「更新とセキュリティ」をクリックします。
- 左ペインから「Windowsセキュリティ」を選択します。
- 右ペインから「ウイルスと脅威の防止」を選択します。
- 新しいウィンドウが開いたら「スキャンのオプション」をクリックします。
- 「Microsoft Defenderオフラインスキャン」にチェックをつけます。
- 「今すぐスキャン」をクリックします。
- ウイルススキャンが実行されます。自動的にウイルスやマルウェアを検出して駆除されます。
ウイルススキャンが完了したらCOM Surrogateの動作状況を確認してください。
セキュリティソフトによってウイルスだと報告されて駆除できない場合は、セキュリティソフトのウイルス定義ファイルを更新してから再度スキャンを行ってみて下さい。