Fix: Host Process for Setting Synchronization (SettingSyncHost.exe) High CPU Usage

Host Process for Setting Synchronization (SettingSynchHost.exe) is a process which synchronizes all your system settings with your other devices. It syncs all sorts of stuff such as if you change your wallpaper on one computer, it will be changed on all other computers as well. Similarly, it also synchronizes your Internet Explorer, OneDrive, Xbox and other useful applications.

This process is found in the System32 folder and is known to be a fairly important process on Windows. However, as useful this process might be, it often causes various problems such as it consumes a lot of resources (CPU) for indefinite periods of time. There were some cases where this process consumed 100% of one of the logical processors all the time.

There are several workarounds which address this issue. Start with the first one and work your way down accordingly.

Solution 1: Updating Windows

Apparently, Microsoft took immediate notice of ‘SettingSyncHost.exe” consuming huge amounts of CPU and directed its engineers to work on the solution. Fairly sometime after, a series of updates were rolled out by the giant which targeted this problem as well as other bugs.

If you haven’t updated your Windows for any reason, make sure you perform all the updates immediately. Operating systems require frequent updates and bug fixes in order to run smoothly without any problems. Do note that you require an active internet connection to update your computer.

  1. Press Windows + S, type “Windows update” in the dialogue box and press Enter.
  2. Click on the button “Check for updates” and let Windows download if it finds any.

  1. After installing the updates, restart your computer and check if the usage got better.

Solution 2: Adding Ownership for a Registry Key

In some cases, it seems that the process ‘SettingSyncHost.exe’ keeps trying to write a file to a specific directory and then update a registry key but fails because it doesn’t have the permissions. It keeps writing the files over and over and tries again and again; this is what causes the high CPU usage on your computer.

We can try taking the ownership of the registry key on your computer and check if this changes anything. Do note that you may require administrator privileges to perform this solution.

  1. Press Windows + R, type “regedit” in the dialogue box and press Enter.
  2. Once in the registry editor, navigate to the following file path:

HKEY_CURRENT_USER\Software\Microsoft\InputPersonalization\TrainedDataStore\en-GB\2

  1. Right-click on the entry and select “Permissions” from the list of options.

  1. Click on “Full Control” for all the user’s groups one by one. Press Apply to save changes and exit.

  1. Restart your computer and check if the problem at hand got solved.

Solution 3: Running a PowerShell Script (Only for Advanced Users)

If both the above solutions don’t work, we can try writing a PowerShell script. This script functions to kill the process ‘SettingSyncHost.exe’ from your computer every five minutes. Do note that you will be required to enter your credentials to register the job on your computer. This solution is for advanced users only who know what they doing.

  1. Press Windows + S, type “PowerShell” in the dialogue box, right-click on the application and select “Run as Administrator”.
  2. Once in elevated status, execute the following code given below:

    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}

As you can see, you will be required to enter credentials before you can register the job on your computer. After entering the credentials, check if the process ‘SettingSyncHost’ gets terminated automatically. If it doesn’t, try restarting your computer and check again.

  1. If you have already registered the job but want to kill it, execute the command listed below:

Get-ScheduledJob | ? Name -eq “Kill SettingSyncHost” | Unregister-ScheduledJob

  1. Restart your computer and the job should be unregistered.

Solution 4: Force Disabling SettingSync

If none of the solutions above have helped you at all, you can disable the SettingSync host. You will lose functionality such as getting your settings synced when you Install a new Windows but it’s definitely worth it, besides you can enable it later if you are not satisfied with the results.

  1. First of all, download this file (here).
  2. Once the file is downloaded, right-click on it and run it as an administrator.
  3. Now simply restart your computer and the process should be gone.

If you don’t want to disable this option, you will have to check if this process is blocked by your firewall or you will have to disable your anti-virus for some time. After that check to see if the issue persists and let us know how it goes.

ABOUT THE AUTHOR

Kevin Arrows


Kevin Arrows is a highly experienced and knowledgeable technology specialist with over a decade of industry experience. He holds a Microsoft Certified Technology Specialist (MCTS) certification and has a deep passion for staying up-to-date on the latest tech developments. Kevin has written extensively on a wide range of tech-related topics, showcasing his expertise and knowledge in areas such as software development, cybersecurity, and cloud computing. His contributions to the tech field have been widely recognized and respected by his peers, and he is highly regarded for his ability to explain complex technical concepts in a clear and concise manner.