Microsoft Compatibility Telemetry(CompatRelRunner.exe)は、バックグラウンドで実行されるWindowsサービスの1つで、パフォーマンスと診断データを静かに収集し、Microsoftに送信します。理論上は、更新、安定性、互換性の向上に役立つはずです。しかし実際には、特に古いマシンや性能の低いマシンでは、このサービスがまるで個人的な恨みを持つかのようにCPUを消費していることに多くの人が気づいています。CPU使用率が急上昇したり、ファンが想定以上に回転したりしている場合は、このサービスが原因である可能性が高いです。厄介なのは、Windowsがこのサービスを常に実行し続ける傾向があることです。そのため、どこを調べればよいか分からなければ、このサービスを抑制する方法を見つけるのは少し面倒です。このガイドでは、タスクスケジューラによる無効化、CompatTelRunner.exeファイルの所有権の取得、レジストリやグループポリシーの編集など、お使いの環境に適した一般的な方法をいくつか紹介します。主な目標は?このサービスがバックグラウンドで実行され、リソースを消費するのを止めることです。注意: システム ファイルやポリシーを変更すると、他の異常が発生する可能性があるため、注意して進めてください。
Microsoft 互換性テレメトリの CPU 使用率が高い問題を修正する方法
方法1: タスクスケジューラで無効にする
これはおそらく最も簡単で、システムへの影響も少ない方法です。MicrosoftはCompatRelRunner.exeを定期的に実行するスケジュールタスクを設定しているので、このタスクを無効にすると効果があるかもしれません。また、特定の時間やアップデート後にCPU使用率が急上昇する場合にも有効です。このタスクを無効にするとCPU使用率は多少低下しますが、Windowsが後で再度実行を試みる可能性があるため、ある程度の競争状態になります。
- タスクスケジューラを開きます。Win + S「タスクスケジューラ」と入力してEnterキーを押すだけです。正しいパスを見つけるには、数回クリックする必要がある場合もあります。
- タスク スケジューラ ライブラリ > Microsoft > Windows > Application Experienceに移動します。これは、Windows が CompatRelRunner.exe をトリガーするタスクを保存する場所です。
- 「Microsoft Compatibility Appraiser」を見つけて右クリックし、 「無効にする」を選択します。これで、スケジュールされたスキャンが自動的に開始されなくなります。
この方法は、CPUを大量に消費するプロセスを開始するスケジュールトリガーを切断することで機能します。Windowsが時々このトリガーを再度有効化してしまうのは少し奇妙ですが、ある環境ではタスクを無効化した後、問題なく動作しました。別の環境では、再起動または再度無効化する必要がありましたので、この点にご注意ください。
方法2: 所有権を取得してファイルを削除する
システムファイルへの侵入に慣れているなら、CompatTelRunner.exe ファイルを見つけて削除するのが、より確実な解決策になるかもしれません。理由は単純です。ファイルがなければ実行できない、ということです。とはいえ、Windows がアップデート後に再ダウンロードしたり復元したりする可能性があるため、いたちごっこのような状況です。
- を押して「CompatTelRunner」Win + Sを検索します。右クリックして「ファイルの場所を開く」を選択します。WindowsAppsフォルダ内にある場合は、まず所有権を取得する必要があるかもしれません(次を参照)。
- CompatTelRunner.exeファイルを右クリックし、[プロパティ]を選択します。
- [セキュリティ]タブに移動して、[詳細設定]をクリックします。
- 上部の所有者の横にある「変更」をクリックし、「今すぐ検索」をクリックします。ユーザーアカウントを選択し、「OK」をクリックして、「サブコンテナとオブジェクトの所有者を置き換える」にチェックを入れます。
- [セキュリティ] タブに戻り、ユーザーにフル コントロール権限を付与します (ユーザー名をダブルクリックし、フル コントロールの権限を許可に設定します)。
- 「適用」と「OK」をクリックします。プロパティを閉じて、ファイルを削除します。念のため、その後はごみ箱を空にしてください。Windowsは必要以上に手間取らせてしまうからです。
この方法により、Windows がアップデートで再導入されない限り、このファイルを再び使用することはなくなります。Windows はこのファイルを再作成し続けることがあるため、アップデートやサービスを調整しない限り、一時的な解決策に過ぎないことを覚えておいてください。
方法3: レジストリエディターで無効にする
これはより深い変更です。レジストリの編集に慣れている方なら、問題なく動作します。基本的にWindowsによるテレメトリデータの収集を完全にブロックするため、CPU負荷を軽減できます。なぜ動作するのかは分かりませんが、一部のマシンではこれをオフにすることで動作が安定しました。
- を押してWin + R、入力し
regedit
、Enter キーを押します。 - HKEY_LOCAL_MACHINE \SOFTWARE\Policies\Microsoft\Windows\DataCollectionに移動します。DataCollection が存在しない場合は、 Microsoftを右クリックし、 「新規」>「キー」を選択して作成します。
- 右側のペインで右クリックし、[新規] > [DWORD (32 ビット) 値]を選択して、 「AllowTelemetry」という名前を付けます。
- 新しい DWORD をダブルクリックし、その値を0 (テレメトリをオフにする) に設定して、[OK]をクリックします。
- regedit を閉じて PC を再起動し、CPU 使用率が下がるかどうかを確認します。(プロのヒント: これを実行する前にレジストリをバックアップしてください。そうしないと、他の設定が台無しになるリスクがあります。Windows はそういうところが面白いです。)
方法4: グループポリシーの設定を変更する(Windows 10 ProまたはEnterprise)
Windows ProまたはEnterpriseをご利用の場合、これがおそらく最もクリーンな方法です。ポリシーレベルでテレメトリ収集を無効にするため、Windowsは基本的に収集を停止します。注:Windows Homeではこのオプションは表示されません。
- を押してWin + R、入力し
gpedit.msc
、Enter キーを押します。 - 次のパスに従います:コンピューターの構成 > 管理用テンプレート > Windows コンポーネント > データ収集とプレビュー ビルド。
- [Allow Telemetry]をダブルクリックし、 [Disabled]に設定して、[Apply]と[OK]をクリックします。
つまり、この設定ではWindowsはテレメトリレポートを制限または停止し、リソース使用量を削減します。テレメトリを無効にすると、一部のWindows診断機能も制限される可能性があることにご注意ください。
結びの言葉
これらの方法を試しても、互換性テレメトリによるCPU使用率が高い状態が続く場合は、他のバックグラウンドプロセスや最近インストールした更新プログラムを確認することをお勧めします。これらのプロセスがCPU使用率の急上昇を引き起こす場合があります。理由は定かではありませんが、一部の環境では、サービスを削除または無効化しても問題は一時的にしか解決しないことがあります。Windowsは後からサービスを再度有効化または復元する傾向があります。継続的なアップデートによって問題が再発する可能性があるため、必要に応じて再度調整できるようにしておいてください。
まとめ
- タスクスケジューラでスケジュールされたタスクを無効にする
- CompatTelRunner.exeの所有権を取得して削除します
- レジストリを編集してテレメトリをオフにする
- グループ ポリシーを使用してテレメトリを無効にする (Windows Pro/Enterprise)
まとめ
Windowsはシステムレベルのサービスと必ずしもうまく連携しないので、この一連の作業は少々面倒です。しかし、Compatibility TelemetryによるCPU負荷の急上昇を止めるのは不可能ではありません。ただ、少しの忍耐が必要です。これで誰かの時間を数時間短縮できれば幸いです。少しでもお役に立てれば幸いです!