Host Process for Setting Synchronization (SettingSynchHost.exe) คือกระบวนการซิงโครไนซ์การตั้งค่าระบบทั้งหมดกับอุปกรณ์อื่นๆ ซิงโครไนซ์ทั้งอย่าง เช่น เปลี่ยนพื้นหลังบนเครื่องหนึ่ง จะเปลี่ยนบนเครื่องอื่นทั้งหมด เช่นกัน สำหรับ Internet Explorer, OneDrive, Xbox และแอปพลิเคชันที่มีประโยชน์อื่นๆ
กระบวนการนี้อยู่ในโฟลเดอร์ System32 และเป็นกระบวนการสำคัญของ Windows แต่แม้จะมีประโยชน์ มักก่อให้เกิดปัญหา เช่น ใช้ทรัพยากร (CPU) สูงมาก นานไม่จำกัด มีกรณีกระบวนการนี้ใช้ 100% ของ logical processor หนึ่งตลอดเวลา
มีวิธีแก้หลายอย่าง เริ่มจากวิธีแรกลงมา
วิธีที่ 1: อัปเดต Windows
Microsoft สังเกตเห็น SettingSyncHost.exe ใช้ CPU สูงมาก จึงสั่งวิศวกรแก้ไข ไม่นานมานี้ อัปเดตชุดต่างๆ ถูกปล่อยออกมา แก้ปัญหานี้รวมถึงบั๊กอื่นๆ
หากไม่ได้อัปเดต Windows ให้อัปเดตทันที ระบบปฏิบัติการต้องการอัปเดตและแก้บั๊กบ่อยเพื่อทำงานลื่นไหล Do note that you require an active internet connection to update your computer.
- กด Windows + S พิมพ์ 「Windows update」 กด Enter
- คลิกปุ่ม 「Check for updates」 รอ Windows ดาวน์โหลดหากเจอ

- ติดตั้งอัปเดตเสร็จ restart คอมพิวเตอร์ ดูว่าการใช้ CPU ดีขึ้นหรือไม่
วิธีที่ 2: เพิ่มสิทธิ์เจ้าของสำหรับ Registry Key
บางกรณี กระบวนการ SettingSyncHost.exe พยายามเขียนไฟล์ไปไดเรกทอรีเฉพาะ และอัปเดต registry key แต่ล้มเหลวเพราะไม่มีสิทธิ์ มันเขียนไฟล์ซ้ำๆ และลองใหม่เรื่อยๆ นี่คือสาเหตุ CPU สูง
ลองยึดสิทธิ์เจ้าของ registry key บนคอมพิวเตอร์ ดูว่ามีผลหรือไม่ อาจต้องการสิทธิ์แอดมิน
- กด Windows + R พิมพ์ 「regedit」 กด Enter
- ใน Registry Editor ไปที่ file path:
HKEY_CURRENT_USER\Software\Microsoft\InputPersonalization\TrainedDataStore\en-GB\2

- คลิกขวาที่รายการ เลือก 「Permissions」

- คลิก 「Full Control」 สำหรับกลุ่มผู้ใช้ทุกกลุ่มทีละอัน กด Apply บันทึก และออก

- Restart คอมพิวเตอร์ ดูว่าปัญหาแก้ไขหรือไม่
วิธีที่ 3: รัน PowerShell Script (สำหรับผู้ใช้ขั้นสูงเท่านั้น)
หาก 2 วิธีข้างต้นไม่ได้ผล ลองเขียน PowerShell script สคริปต์นี้ทำหน้าที่ kill กระบวนการ SettingSyncHost.exe ทุก 5 นาที ต้องใส่ credentials เพื่อลงทะเบียน job บนคอมพิวเตอร์ วิธีนี้สำหรับผู้ใช้ขั้นสูงที่รู้ว่ากำลังทำอะไร
- กด Windows + S พิมพ์ 「PowerShell」 คลิกขวาแอป เลือก Run as Administrator
- ในโหมด elevated รันโค้ดด้านล่าง:
Register-ScheduledJob -Name 「Kill SettingSyncHost」 -RunNow -RunEvery 「00:05:00」 -Credential (Get-Credential) -ScheduledJobOption (New-ScheduledJobOption -StartIfOnBattery -ContinueIfGoingOnBattery) -ScriptBlock { Get-Process | ?{ $_.Name -eq 「SettingSyncHost」 -and $_.StartTime -lt ([System.DateTime]::Now).AddMinutes(-5) } | Stop-Process -Force}

จะต้องใส่ credentials ก่อนลงทะเบียน job หลังใส่แล้ว ดูว่ากระบวนการ SettingSyncHost ถูก kill อัตโนมัติหรือไม่ หากไม่ ให้รีสตาร์ทและตรวจสอบอีกครั้ง
- หากลงทะเบียน job แล้วแต่ต้องการ kill มัน รันคำสั่งด้านล่าง:
Get-ScheduledJob | ? Name -eq 「Kill SettingSyncHost」 | Unregister-ScheduledJob

- รีสตาร์ทคอมพิวเตอร์ job ควรถูกยกเลิกการลงทะเบียน
วิธีที่ 4: บังคับปิดใช้งาน SettingSync
หากวิธีข้างต้นไม่ช่วยเลย สามารถปิด SettingSync host ได้ จะสูญเสียฟังก์ชันซิงโครไนซ์การตั้งค่าเมื่อติดตั้ง Windows ใหม่ แต่คุ้มค่า และสามารถเปิดใหม่ได้หากไม่พอใจ
- ดาวน์โหลดไฟล์นี้ (ที่นี่)
- ดาวน์โหลดเสร็จ คลิกขวา รันเป็นแอดมิน
- รีสตาร์ทคอมพิวเตอร์ กระบวนการควรหายไป
หากไม่ต้องการปิดตัวเลือกนี้ ต้องตรวจสอบว่ากระบวนการนี้ถูกบล็อกโดยไฟร์วอลล์ หรือปิดแอนตี้ไวรัสชั่วคราว แล้วดูว่าปัญหาคงอยู่หรือไม่