Contents

ProgramData 内の ETL ログ ファイルをクリーンアップする

Contents

<本文>/images/large-c-programdata-microsoft-diagnosis-etllogs-f.png

Windows Server 2019 ホストの 1 つで利用可能な空き領域を分析した結果、ETLLogs ディレクトリが見つかりました。このディレクトリには、数十ギガバイトの ETL (イベント トレース ログ) ファイルが含まれていました。

興味深いことに、空き領域分析ツール (WinDirStat や TreeSize など) は、管理者として実行した場合でも、異常に大きい ETLogs ディレクトリを検出できませんでした。巨大な ETL ログ ディレクトリは、SYSTEM アカウントの代わりにツールが実行された場合にのみ見つかりました。次のコマンドを使用して、LocalSystem アカウントの代わりにアプリを実行します。

psexec.exe-i-s WinDirStat.exe

/images/large-c-programdata-microsoft-diagnosis-etllogs-f.png

ETL ログ ファイルが含まれるフォルダーへのフル パスは、C:\ProgramData\Microsoft\Diagnosis\ETLLogs です。私のサーバー上のこのディレクトリには、{GUID}_APPRAISER_UTC.etl という形式の名前を持つファイルが数百個あり、それぞれのサイズは約 100 MB でした。ファイルの日付が示すように、ETL ファイルは長期間にわたって毎日作成されました。これらのファイルは、CompatTelRunner.exe プロセスによって作成されます。

/images/disk-space-consumed-by-etl-logs.png

診断データを含むこれらのログは、Windows テレメトリ サービスによって作成されます。このディレクトリから ETL ログ ファイルを手動で削除しても安全です。また、収集した診断データをすばやくクリーンアップするには、 設定 -> プライバシー -> 診断とフィードバック に移動し、 診断データの削除 セクションの 削除 ボタンをクリックします。フィードバック周波数パラメータの値を「Never」に変更します。

/images/clean-up-diagnostics-data-in-windows.png

ETL ログがこれ以上収集されないようにするには、テレメトリ サービスの設定を変更する必要があります。

  • 診断データのログのレベルを下げます。 設定 -> 診断 で、必要な診断データのみを送信するオプションを選択します。 /images/change-telemetry-to-required-diagnostic-data.png

  • ローカル グループ ポリシーでテレメトリ設定を変更します。ローカル グループ ポリシー エディター (gpedit.msc) を開き、コンピューターの構成 -> 管理用テンプレート -> Windows コンポーネント -> データ コレクションとプレビュー ビルド に移動します。 テレメトリを許可する オプション (Windows 11/Windows Server 2022 では 診断データを許可する) を見つけます。ポリシーを有効にし、その値を「診断データ オフ」に設定します。 /images/gpo-disable-telemetry-diagnostic-data.png このパラメータはレジストリ経由で直接設定できます: reg add "HKLM\Software\Policies\Microsoft\Windows\DataCollection"/v "AllowTelemetry"/t REG\_DWORD/d "0"/f

  • 次に、GPO で、カスタマー エクスペリエンス プログラムへの参加を無効にします: コンピューターの構成 -> 管理用テンプレート -> システム -> インターネット通信管理 -> インターネット通信設定。 「Windows カスタマー エクスペリエンス向上プログラムをオフにする」ポリシーを有効にします。 /images/gpo-turn-off-windows-customer-experience-improvem.png

  • タスク スケジューラで Microsoft Compatibility Appraiser と ProgramDataUpdater を無効にします。 PowerShell を使用してスケジュールされたタスクを無効にするには、次のコマンドを実行します。スケジュールされたタスクを無効にする ` /images/disable-telemetry-scheduled-tasks.png

  • 次に、次のサービス dmwappushservice および DiagTrack (接続されたユーザー エクスペリエンスとテレメトリ) を無効にします。サービスの停止 `

Get-Service dmwappushservice、DiagTrack | Set-Service-StartupType は無効です

これにより、ETLogs に収集される診断データとテレメトリ データのサイズが削減されます。

Windows システム ドライブの空き領域が不足するもう 1 つの一般的な原因は、システム ボリューム情報フォルダーです。

*️⃣ 出典リンク:

LocalSystem アカウントに代わってアプリを実行する、ローカル グループ ポリシー エディター、PowerShell を使用してスケジュールされたタスクを無効にする、システム ボリューム情報フォルダー、