Microsoft Compatibility Telemetry が高CPUを使う原因と段階的対処法
重要: この記事の目的と前提
この記事は、Microsoft Compatibility Telemetry(以降「テレメトリ」と表記)が高負荷を引き起こす場合に、影響を最小化または解消するための実務的な手順を提供します。管理者が導入済みのポリシーや組織の運用ルールに従って実行してください。レジストリやシステムファイルの操作はリスクを伴います。実行前にバックアップを取ることを推奨します。
.jpg?w=1600&h=900&fit=crop)
何を期待できるか(記事の構成)
- 事前チェック項目(再起動・更新・マルウェアスキャンなど)
- 個別の修復手順(サービス再起動、診断設定、タスクスケジューラ調整、ファイル置換)
- 無効化までの判断基準とリスク
- 管理者/ユーザー別チェックリスト、インシデント対応・ロールバック手順
- 意思決定フロー(Mermaid)と簡潔な用語集
なぜ Microsoft Compatibility Telemetry が大量の CPU を使うのか
テレメトリが高CPUや高IOを消費する原因は主に次のようなものです。
- システムファイルの破損(CompatTelRunner.exe の破損や依存ファイルの不整合)
- テレメトリサービスの一時的なハングやループ動作
- 診断データの蓄積量が多く転送や処理で負荷がかかる
- Windows Update の遅延や失敗による補助処理の増加
- マルウェアや不正なソフトウェアがテレメトリの実行を妨害している場合
これらは単独で発生する場合も、複合的に重なって発生する場合もあります。以下で優先順位をつけた対応手順を示します。
事前チェック(必須)
まず簡単な確認を行って、深刻度や原因候補を切り分けます。
- 実行中のアプリを全て閉じる。特にフリーズやクラッシュを起こしているアプリは優先的に閉じる。
- 一時的な問題を排除するためにデバイスを再起動する。
- Windows Update を実行して、未適用の更新がないか確認する。
- マルウェアスキャンを実行する(Microsoft Defender のオフラインスキャンも有効)。
- SFC(システム ファイル チェッカー)と DISM スキャンを実行して、破損したシステムファイルを修復する。SFC はまず試すべき基本手段です。
注: これらの手順で改善する場合は、以降の操作は不要なことが多いです。
1. Connected User Experiences and Telemetry サービスを再起動する
短期的なサービスの不調を解消するために、Windows のサービスからテレメトリ関連サービスを再起動します。これにより一時的なリソース過剰消費が解消することがあります。
手順:
- タスクを実行する前に、保存していない作業を保存しておく。
- Windows 検索で「Services」または「サービス」と入力して Services アプリを開く。
- リストから「Connected User Experiences and Telemetry」を探す。
- 該当サービスを右クリックし、「再起動」を選択する。
再起動後、タスク マネージャーで CPU 使用率を観察してください。改善がなければ次の手順へ進みます。
2. 診断とフィードバック(Diagnostics and feedback)設定を変更する
診断データ収集が頻繁に発生すると、データの処理や送信により負荷がかかります。不要なオプションをオフにして、収集頻度や量を減らしましょう。
手順:
- スタートボタンを右クリックして「設定」を開く。
- 「プライバシーとセキュリティ」タブを選択。
- 「Windows の権限」内の「診断とフィードバック」を開く。
- 「オプションの診断データを送信する」トグルをオフにして、Microsoft に送信するデータを最小限にする。
- 「テーラード エクスペリエンス(Tailored experiences)」を展開してトグルをオフにする。
- 過去に収集された診断データを削除する場合は、「診断データの削除」を展開して「削除」を実行する。削除は効果がありますが、テーラードアップデートや一部の修正が得られなくなる可能性がある点に注意してください。
重要: 診断データの削除やオプションオフは利便性やセキュリティ更新への影響を及ぼすことがあります。組織ポリシーに従ってください。
3. タスク スケジューラでテレメトリの実行タイミングを管理する
既定では、テレメトリ関連のタスクは特定の時間に無期限で実行される設定になっていることがあります。稼働時間外やアイドル時のみ実行するようトリガーと設定を調整します。
手順:
- Windows 検索で「Task Scheduler」または「タスク スケジューラ」と入力してアプリを開く。
- 左のツリーで「Task Scheduler Library > Microsoft > Windows > Application Experience」を開く。
- 「Microsoft Compatibility Appraiser」タスクをダブルクリックして開く。
- 「トリガー」タブを開き、有効になっているトリガーをダブルクリックして編集する。
- タスクを「アイドル時に実行する」か、明確に非稼働時間にスケジュールする。
- 「タスクが長く実行された場合に停止する」にチェックを入れ、許容可能な最大実行時間を設定する。
- 「OK」をクリックして変更を保存する。
- 「設定」タブで「スケジュールされた開始が見逃された場合、できるだけ早くタスクを実行する」のチェックを外す。
これにより、通常の作業時間中にテレメトリが暴発しにくくなります。改善しない場合は次の手順を検討します。
4. CompatTelRunner.exe を手動で置き換える
CompatTelRunner.exe が破損していると、テレメトリが無限ループや例外を起こし、高い CPU を消費することがあります。SFC/DISM で修復できない場合は、別の正常な Windows から同名ファイルを持ってきて置き換えます。
手順(管理者権限が必要):
- Windows 検索で「コマンド プロンプト」と入力し、右クリックで「管理者として実行」する。
- 次のコマンドでファイルの所有権を取得する:
takeown /f C:\Windows\System32\CompatTelRunner.exe
- さらに必要に応じて icacls で権限を付与する(管理者のみ実行)。
- 正常な Windows マシンから同じファイルを USB などにコピーして、対象 PC の System32 に上書きする。
注意: 企業・組織のポリシーや署名検証によってはファイル置換がブロックされる場合があります。署名が必要なシステムファイルを無断で置換するのはリスクがあります。
5. テレメトリを無効化する(最終手段)
全ての手順を試しても改善しない場合、テレメトリを無効化することができます。ただし、無効化は手元の診断情報が Microsoft に送信されなくなるため、セキュリティや互換性の自動修正に影響する可能性があります。最終手段として、次のアプローチを検討してください。
- タスク スケジューラ上のタスクを無効化する
- サービス(Connected User Experiences and Telemetry)を無効にする
- グループポリシーまたはレジストリで診断レベルを制限または無効化する
詳しい手順とリスクについては、組織の IT ポリシーに従い、事前にバックアップと復旧手順を整えたうえで実行してください。
追加の実務資料(付録)
以下は現場で役立つ実践的な資料です。管理者とエンドユーザーの双方に対応します。
管理者向けチェックリスト
- 最新の Windows Update を適用しているか確認
- SFC /scannow と DISM を実行したか
- テレメトリ関連タスクのスケジュールを業務時間外に変更したか
- CompatTelRunner.exe の署名と整合性を検証したか
- グループポリシーで診断レベルが組織方針に沿っているか確認
- 影響範囲とユーザーへ通知する運用文書を用意したか
エンドユーザー向けチェックリスト
- まず再起動したか
- 容量の大きなアプリやバックグラウンド処理を停止したか
- Windows Update を確認したか
- マルウェアスキャンを実行したか
- 重大なファイルを外付けにバックアップしたか
インシデント対応(Runbook)
- 影響の範囲を確認(単一ユーザーか複数ユーザーか、全社か)
- 事前チェックを実施(再起動、更新、マルウェアスキャン)
- サービス再起動とタスクのスケジュール調整を試行
- 改善がなければ SFC/DISM とファイル置換を実施(管理者)
- それでも改善しない場合は、業務影響があるか確認してからテレメトリ無効化を実施
- ロールバック: 無効化前に取得したバックアップと設定を用いて元に戻す
受け入れ基準(Критерии приёмкиに相当する日本語表記):
- CPU 使用率が通常作業時において観測前の状態に近くなること
- ユーザーからのパフォーマンス問題の報告が減ること
- テレメトリの無効化を行った場合は、復旧手順が検証されていること
意思決定フロー(Mermaid)
flowchart TD
A[問題報告: 高CPU] --> B{再起動で改善?}
B -- はい --> Z[状況監視]
B -- いいえ --> C{Windows Update 適用済み?}
C -- いいえ --> D[Update を適用して再起動]
C -- はい --> E[サービス再起動]
E --> F{改善?}
F -- はい --> Z
F -- いいえ --> G[タスク スケジューラの調整]
G --> H{改善?}
H -- はい --> Z
H -- いいえ --> I[ファイル置換 / SFC / DISM]
I --> J{改善?}
J -- はい --> Z
J -- いいえ --> K[無効化を検討(最終手段)]
K --> L[影響評価とバックアップ]
L --> M[無効化実行]
M --> Z
注意: Mermaid フローは意思決定の概念図です。実環境では手順ごとにログやバックアップを取りながら進めてください。
リスクマトリクス(定性的)
- 無効化のリスク: 中〜高(自動診断とテーラード修正を失う)
- ファイル置換リスク: 中(署名検証や互換性の問題)
- タスク調整リスク: 低(業務時間外に制限するだけなら影響は小さい)
1行用語集
- テレメトリ: OS やアプリがパフォーマンス情報やエラー情報を送信する仕組み。
- CompatTelRunner.exe: テレメトリ関連の実行バイナリの一つ。破損すると高負荷の原因になる。
代替アプローチと失敗例(いつ効かないか)
- 代替: サードパーティのパフォーマンス管理ツールでプロセスの優先度を下げる。→ 一時しのぎにはなるが根本解決ではない。
- 失敗例: グループポリシーでテレメトリを完全にブロックしても、他のシステムサービスが代替でログを大量に生成することがある。
操作後の確認とフォローアップ
- タスク マネージャーで CPU とディスク IO を 30 分〜数時間監視して、症状が再発しないか確認する。
- イベント ビューアーで関連するエラーや警告を確認する(Application / System チャネル)。
- 変更を行った場合は変更履歴を残し、同様の問題が生じたときに迅速にロールバックできるようにする。
まとめ
Microsoft Compatibility Telemetry の高 CPU 使用は複数の原因で生じます。まずは再起動や更新、スキャンといった基本チェックを行い、その後サービス再起動や診断設定の変更、タスクスケジューラの調整、必要ならファイル置換を段階的に試してください。最終手段としてテレメトリ無効化がありますが、利便性やセキュリティ上の影響を考慮して慎重に判断してください。
重要: レジストリ変更、ファイル置換、サービス無効化はリスクを伴います。実施前にバックアップを取り、可能であればテスト環境で検証してください。
要点(まとめ)
- まずは再起動、Windows Update、マルウェアスキャン、SFC/DISM を実施する。
- サービス再起動と診断設定の見直しで改善することが多い。
- タスクスケジューラで実行タイミングを業務時間外またはアイドル時に変更する。
- それでも直らない場合はファイル置換を試し、最後に無効化を検討する。
付録: 参考となる短い通知文(社内アナウンス用)
以下は IT 部門がユーザーに配布する短い通知例(100〜200語)です。
社内連絡: テレメトリ関連のプロセスによるパフォーマンス低下について
一部ユーザーで Windows のテレメトリ(Microsoft Compatibility Telemetry)が高い CPU 使用率を示し、作業に影響が出る事象を確認しています。まずは PC の再起動、Windows Update 実施、マルウェアスキャンを実行してください。改善しない場合は IT サポートへ連絡ください。IT は影響範囲を調査し、必要に応じてタスクのスケジュール調整やサービスの一時的な停止を行います。
最後に
この記事の手順は一般的なトラブルシューティング手法をまとめたものです。組織のポリシーやセキュリティ要件に従い、必要な承認を得て操作してください。