Windows Server 2019 ホストで突然空き容量がなくなり、原因がETLLogsディレクトリの奥深くに埋もれているという奇妙な問題が発生しました。特に、大量の ETL ファイルが蓄積されている場合です。WinDirStat や TreeSize などの通常のディスク アナライザーは、管理者として実行した場合でも、 を使用してSYSTEMアカウントで実行しない限り、これを検出しないため、少し面倒ですpsexec.exe -i -s WinDirStat.exe。これは、そのレベルで実行していない限り、Windows が特定のログを非表示にするためです。これらのログを見つけるのは大変なことです。テレメトリ データをログに記録するCompatTelRunner.exeによって、100 MB のファイルが何年にもわたって毎日何百も作成されています。ドライブをいっぱいにする方法としては適切ではありませんし、特に気づいていない場合はなおさらです。明らかな理由もなく C ドライブが食い尽くされている場合は、ログが巧妙に働いている可能性があります。最も安全な方法は、C:\ProgramData\Microsoft\Diagnosis\ETLLogsフォルダー内の ETL ファイルを手動で削除することです。 Windows がこれらのログに積極的に書き込みを行っていないことを確認してください。古いログを削除している場合は、通常は問題ありません。また、設定からテレメトリデータを消去すれば、もう少し早く完了できます。「設定」>「プライバシー」>「診断とフィードバック」に進み、 「削除」をクリックします。念のため、フィードバックの頻度を「なし」に切り替えてください。Windows は必要以上に書き込みを難しくするからです。このような状況が再発しないようにするには、テレメトリの設定を微調整する必要があります。そうすれば、Windows がログに記録するデータが少なくなり、ログが膨大な量に膨れ上がるのを防ぐことができます。
Windows Server 2019でETLログを管理する方法
診断データのログレベルを調整する
これらのログはWindows Telemetryの一部であるため、送信する診断データのレベルを下げることで改善が見込めます。「設定」>「プライバシー」>「診断とフィードバック」に移動し、 「必須の診断データのみを送信する」オプションを選択します。これは、Windowsに「必要な情報だけ送信してください」と伝えるようなものです。ログの削減、使用容量の削減、システムフットプリントの軽量化が期待できます。
グループポリシーでテレメトリとプライバシー設定を構成する
一部の環境では、グループポリシーを使って制限を強化できます。 – gpedit.mscを開きます。 – 「コンピューターの構成」>「管理用テンプレート」>「Windows コンポーネント」>「データ収集とプレビュービルド」に移動します。 – 「テレメトリの許可」(新しいWindowsでは「診断データの許可」)を見つけます。 – これを有効にし、「診断データをオフにする」に設定します。つまり、テレメトリを完全にオフにします。レジストリを使ってこれを行うこともできます(もちろん、Windowsではより複雑になっています)。
reg add "HKLM\Software\Policies\Microsoft\Windows\DataCollection" /v "AllowTelemetry" /t REG_DWORD /d "0" /f
これにより、ETLLogs フォルダーを埋め尽くすバックグラウンド ログの多くをブロックできるようになります。
顧客体験改善プログラムへの参加を停止する
– 同じグループポリシーエディターで、「コンピューターの構成」>「管理用テンプレート」>「システム」>「インターネット通信の管理」>「インターネット通信の設定」に移動します。 – 「Windowsカスタマーエクスペリエンス向上プログラムを無効にする」を有効にします。これにより、フィードバックとテレメトリのチャーンがさらに削減されます。
互換性チェックに関連するスケジュールされたタスクを無効にする
– PowerShell を使用して、次を実行します。
Get-ScheduledTask 'Microsoft Compatibility Appraiser', 'ProgramDataUpdater' | Disable-ScheduledTask
– これにより、知らないうちにスケジュールされたタスクが実行され、ログが生成されるのを防ぎます。
テレメトリサービスを無効にする
以下のサービスを停止して無効にします: – Dmwappushservice – DiagTrack (接続されたユーザー エクスペリエンスとテレメトリ) 使用:
Get-Service dmwappushservice, DiagTrack | Stop-Service
Get-Service dmwappushservice, DiagTrack | Set-Service -StartupType Disabled
なぜでしょうか? これらは、ギガバイト サイズの ETL ファイルになるテレメトリ データを収集する主な原因だからです。
正直なところ、これらの変更はマシンによってはすぐに反映されますが、他のマシンでは再起動や再適用が必要になる場合があります。WindowsはWindowsですからね。これらの手順を実行すれば、ETLLogsディレクトリは管理可能な状態を維持し、ディスク容量が理由もなく魔法のように消えてしまうようなこともなくなります。ログが溜まり始めていると思われる場合は、注意深く監視してください。