ล้างไฟล์บันทึก ETL ใน ProgramData

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

หลังจากวิเคราะห์พื้นที่ว่างบนโฮสต์ Windows Server 2019 ตัวใดตัวหนึ่ง เราพบไดเร็กทอรี ETLLogs ซึ่งมีไฟล์ ETL (Event Trace Log) หลายสิบกิกะไบต์

สิ่งที่น่าสนใจคือ ไม่สามารถตรวจพบไดเร็กทอรี ETLogs ที่มีขนาดใหญ่ผิดปกติโดยเครื่องมือวิเคราะห์พื้นที่ว่าง (เช่น WinDirStat หรือ TreeSize) แม้ว่าจะถูกเรียกใช้ในฐานะผู้ดูแลระบบก็ตาม พบไดเร็กทอรีบันทึก ETL ขนาดใหญ่เมื่อมีการเรียกใช้เครื่องมือในนามของบัญชี SYSTEM เท่านั้น ใช้คำสั่งต่อไปนี้เพื่อเรียกใช้แอปในนามของบัญชี LocalSystem:

psexec.exe-i-s WinDirStat.exe

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

เส้นทางแบบเต็มไปยังโฟลเดอร์ที่มีไฟล์บันทึก ETL คือ C:\ProgramData\Microsoft\Diagnosis\ETLLogs ในไดเร็กทอรีนี้บนเซิร์ฟเวอร์ของฉัน มีไฟล์หลายร้อยไฟล์ที่มีชื่อในรูปแบบ {GUID__APPRAISER_UTC.etl โดยแต่ละไฟล์มีขนาดประมาณ 100 MB ตามที่แสดงตามวันที่ในไฟล์ ไฟล์ ETL ถูกสร้างขึ้นทุกวันเป็นระยะเวลานาน ไฟล์เหล่านี้สร้างขึ้นโดยกระบวนการ CompatTelRunner.exe

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

บันทึกเหล่านี้ประกอบด้วยข้อมูลการวินิจฉัยถูกสร้างขึ้นโดย Windows Telemetry Services การลบไฟล์บันทึก ETL ด้วยตนเองออกจากไดเร็กทอรีนี้ทำได้อย่างปลอดภัย นอกจากนี้ หากต้องการล้างข้อมูลการวินิจฉัยที่รวบรวมไว้อย่างรวดเร็ว ให้ไปที่การตั้งค่า -> ความเป็นส่วนตัว -> การวินิจฉัยและคำติชม แล้วคลิกปุ่มลบในส่วนลบข้อมูลการวินิจฉัย เปลี่ยนค่าของพารามิเตอร์ความถี่คำติชมเป็น " ไม่เคย "

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

เพื่อป้องกันการเก็บรวบรวมบันทึก ETL เพิ่มเติม คุณต้องเปลี่ยนการตั้งค่าบริการการวัดและส่งข้อมูลทางไกล

  • ลดระดับการบันทึกข้อมูลการวินิจฉัย ในการตั้งค่า -> การวินิจฉัย เลือกตัวเลือกเพื่อส่งเฉพาะข้อมูลการวินิจฉัยที่จำเป็นเท่านั้น /th/images/change-telemetry-to-required-diagnostic-data.png

  • เปลี่ยนการตั้งค่าการวัดและส่งข้อมูลทางไกลในนโยบายกลุ่มภายในเครื่อง เปิดตัวแก้ไขนโยบายกลุ่มภายใน ( gpedit.msc ) และไปที่การกำหนดค่าคอมพิวเตอร์ -> เทมเพลตการดูแลระบบ -> ส่วนประกอบของ Windows -> การรวบรวมข้อมูลและการสร้างตัวอย่าง ค้นหาตัวเลือกอนุญาต Telemetry (หรืออนุญาตข้อมูลการวินิจฉัยใน Windows 11/Windows Server 2022) เปิดใช้นโยบายและตั้งค่าเป็นปิดข้อมูลการวินิจฉัย /th/images/gpo-disable-telemetry-diagnostic-data.png พารามิเตอร์นี้สามารถกำหนดค่าได้โดยตรงผ่านรีจิสทรี: reg เพิ่ม "HKLM\Software\Policies\Microsoft\Windows\DataCollection"/v "AllowTelemetry"/t REG\_DWORD/d "0"/f

  • จากนั้น ใน GPO ให้ปิดการใช้งานการเข้าร่วมในโปรแกรมประสบการณ์ลูกค้า: การกำหนดค่าคอมพิวเตอร์ -> เทมเพลตการดูแลระบบ -> ระบบ -> การจัดการการสื่อสารทางอินเทอร์เน็ต -> การตั้งค่าการสื่อสารทางอินเทอร์เน็ต เปิดใช้งานนโยบายปิดโปรแกรมปรับปรุงประสบการณ์ลูกค้าของ Windows /th/images/gpo-turn-off-windows-customer-experience-improvem.png

  • ปิดการใช้งานตัวประเมินความเข้ากันได้ของ Microsoft และ ProgramDataUpdater ใน Task Scheduler หากต้องการปิดใช้งานงานที่กำหนดเวลาไว้โดยใช้ PowerShell ให้รัน: Get-ScheduledTask 'Microsoft Compatible Appraiser', ProgramDataUpdater | ปิดการใช้งานตามกำหนดเวลางาน /th/images/disable-telemetry-scheduled-tasks.png

  • จากนั้นปิดการใช้งานบริการต่อไปนี้ dmwappushservice และ DiagTrack (ประสบการณ์ผู้ใช้ที่เชื่อมต่อและ Telemetry): รับบริการ dmwappushservice, DiagTrack | หยุดบริการ

รับบริการ dmwappushservice, DiagTrack | ตั้งค่าบริการ-StartupType ปิดการใช้งาน

วิธีนี้จะลดขนาดของข้อมูลการวินิจฉัยและการวัดและส่งข้อมูลทางไกลที่รวบรวมใน ETLogs

สาเหตุทั่วไปอีกประการที่ทำให้พื้นที่ว่างในไดรฟ์ระบบ Windows หมดคือโฟลเดอร์ System Volume Information

*️⃣ ลิงค์ที่มา:

เรียกใช้แอปในนามของบัญชี LocalSystem, ตัวแก้ไขนโยบายกลุ่มภายใน, ปิดใช้งานงานที่กำหนดเวลาไว้โดยใช้ PowerShell, , โฟลเดอร์ System Volume Information,