How to stop Windows Update Slowing down the computer

Windows Update Slowing down the computer.

If you find that sometimes your computer is running slow, and you try to find out, and you see Windows Update is downloading or installing an update, and it's impacting you, I work in computer servicing and I commonly see complaints such as:

Windows Update is slowing down my internet.

Windows Update is taking all my bandwidth.

Windows Update high CPU usage

Windows Update High Cpu, hereford computer service

Note: In Windows services, the service name is "wuauserv" for Windows Update Service.


Here, I've documented some steps to manage Windows updates, including lighter options through the Windows settings, as well as a more comprehensive approach to ensure that Windows updates run in the background.

Windows Update: How to set internet bandwidth usage limits

This option is available in both Windows 10 & 11 and has been given the name Delivery Optimisation.

So head into "Settings" > "Windows Update" > "Advanced Options" > "Delivery Optimisation"

Windows Update Bandwidth

It's best to ensure "Download options" > background limit as a % with a very low number of 5%

Hereford Computer Windows Update

Also, for "Upload options", ensure the limit is set as a percentage with a very low value, such as 5%. This time, it's a slider. Additionally, the Monthly upload limit (GB) is set to 5.

This will ensure the download of updates in the background is done very slowly and never a critical internet-hogging monster.

Windows Update automatically delays non-essential updates and prioritises security updates only.

There is a feature that allows you to select which updates you want. If you do want them, you can choose whether to receive them now or wait for a major update a few months after everyone else.

These features only have a nice interface in the "Windows Professional" or higher version; if you have Windows Home, you will either need to upgrade or manually make the setting changes using Regedit. For now, let's use the Windows Professional interface within the Group Policy Editor.

Using the Group Policy Editor.

Press Windows + R, type gpedit.msc, then hit Enter 

Head into "Computer Configuration" > " Administrative Templates" > "Windows Components" > "Windows Update" > "Manage Updates offered from Windows Update"

ref: Manage Updates offered from Windows Update

Control WIndows Update

What to set.

Select when Preview Builds and Feature Updates are received → Enabled → Set to defer for 90 days.

Select when Quality Updates are received → Enabled → Defer for a few days (e.g. 7 days).

Set Windows Update to Low Priority and use only 1 CPU/Core.

This is an extreme option, but the only way to ensure that once you have a real update downloaded, it will be installed at a very low-priority job in the background is to have a process which sets this for you. There are many ways to accomplish this, but here is an explained, simple approach that utilises built-in Windows features and a script.

Which Windows update events are being logged?

We can trigger an event, so we need to first get a picture of what Windows Update puts in the system event logs, from which we can trigger a script to set the priority.

Use Windows Event Viewer to find window update events

Press Windows + R, type eventvwr.msc, then hit Enter 

You open "Windows Logs" > "System". Either find a mention of Windows update by hand or use the right-hand menu "Filter Current Log" to access Windows update.

Hereford Computer Repair Specialst windows update


The three key pieces of information that trigger an event are the source, which is "WindowsUpdateClient", the Provider Name "Microsoft-Windows-WindowsUpdateClient", and the event ID, which we can see is used in event IDs 19, 20, 43, and 44.

If you open "PowerShell" and run the following script, it will get all the unique event IDs for the provider Name for us with a count of how many times it's been logged.

PowerShell script:

Get-WinEvent -LogName System |

Where-Object { $_.ProviderName -eq "Microsoft-Windows-WindowsUpdateClient" } |

Group-Object Id |

Sort-Object Count -Descending |

Select-Object Name, Count

PowerShell example output:

Name Count

---- -----

44     293

43     265

19     226

20      44

VB Script to lower service window update priority and affinity.

We need a script to take any found Windows update process and set it to low priority, and will only use 1 CPU/CORE by setting the process affinity for us.

This script will also check if there is a subprocess, also known as a child process, from the Windows update service and ensure it has the same enforcement of low priority, etc.

<Download Link to "ServiceEnforcer.VBS"> or  <Tell me more on this script link...>

I suggest you have a dedicated folder if you don't already have one for your scripts.

e.g.

C:\Users\YourUserName\Documents\MyScripts

This script will create a log file in the same directory when it runs; in this example it would be called "ServiceEnforcer_[wuauserv]LOG.txt"

Setting up Windows task scheduler to help deprioritise Windows updates.

This built-in window task scheduling tool can be triggered by the Windows event ID we found in the Windows update service, and call this script to enforce the lower priority for us.

There are always multiple ways to achieve this, and you can have one script triggered by many events in one, but I recommend setting up a job for each one. In this example, repeat step 4 four times for event IDs 19, 20, 43, and 44.

These are the steps for 1st one. event ID = 20

Click on the Windows start button and type "Task Scheduler", then launch.

Step 1: On the right-hand menu, select "Create Task"

Set Windows Update Low Priority

Step 2: Then complete the 1st tab, known as "General"

Set Windows Update Affiniy

A Name: ServiceEnforcer [wuauserv] [20]

Description: Check for server [wuauserv] triggered from the event [20] and run a script to enforce the service is LOW priority and can only use 1 CPU core.

Selected: Run only when the user is logged on

Selected: Run with the highest privileges

Step 3: Then on 2nd tab "Triggers" press "New..."

Control Windows Update

Begin this task: On an event

Log: System

Source : WindowsUpdateClient

Event ID: 20 (for this example)

Selected: Enabled.

Press "OK"

Step 4: In the next tab, "Action", press "New..."

Limit Windows Update

Action: Start a program

Program/script: %windir%\System32\wscript.exe

Add Arguments: ServiceEnforcer.VBS wuauserv 44

Start in: C:\Users\UserName\Documents\MyScripts (location your storing ServiceEnforcer.VBS)

Step 5: The tab "Conditions"

Fix Windows Update

check:

Ensure deselected: Start the task only if the computer is connected to AC power.

Step 6: The last tab "Settings"

Hereford Windows Update fix

All the scheduled event IDs

You have now created a trigger to call the script for the 1st event, do this same step for the next 3 events, you should have a list of task scheduled like below.

Herefordshire Computer Servicing

You can right-click each one and choose run to ensure the log file in the directory where you stored the script is getting created and showing it working.

Here is an example log output:

07/07/2025 12:01:04 >>> Started Service [wuauserv] Background Enforcer(Event ID[44])

07/07/2025 12:01:05 >>> Check for service [wuauserv] found PID:26760

07/07/2025 12:01:05 >>> Yes service [wuauserv] PID [26760] Set to LOW priority

07/07/2025 12:01:05 >>> Yes service [wuauserv] AFFINITY [26760] Set to CPU 1

07/07/2025 12:01:06 >>> Yes service [wuauserv] PID [26760] Has a child sub process [27340]

07/07/2025 12:01:06 >>> Yes service [wuauserv] PID [27340] Set to LOW priority

07/07/2025 12:01:06 >>> Yes service [wuauserv] AFFINITY [27340] Set to CPU 1

07/07/2025 12:01:06 >>> Finished Service [wuauserv] Background Enforcer

Conclusion

Managing Windows updates doesn’t need to be a frustrating or disruptive experience. With the right approach, you can control bandwidth usage, prevent CPU spikes, and delay non-essential updates—keeping systems stable and performance smooth. These strategies aren’t just about convenience; they’re about maintaining productivity, particularly for small businesses where every bit of computing power counts.

At Optimised Computing, we understand the nuances of Windows maintenance—from registry tweaks to Group Policy configuration—and we routinely implement tailored solutions to help our customers stay ahead of disruptive updates. Whether you're a home user or a growing business, we make sure your systems update on your terms, not Microsoft's.

If you'd rather focus on running your business than troubleshooting update hiccups, let Optimised Computing handle the heavy lifting

Next
Next

MacBook Performance & Software Issues