Downloads of Windows 10 updates can not be scheduled but their download bandwidth can be throttled during work hours by configuring the Background Intelligent Transfer Service (BITS).

I have no idea how many times I had been annoyed while playing one of my favorite games and suddenly the Ping spiked. After a quick lookup I saw that the application BITS caused the spike by downloading a lot of data.

Windows Update Services

Windows Update Services (wuauserv.exe) is an application which listens for new updates for your Windows operating system. As soon as a new update has been downloaded to your computer, it checks your local configuration. Depending upon the local configuration, the installation starts immediately or is postponed for a late time.

Interestingly, Windows Update Services is not responsible for downloading Windows updates on its own. Instead, it is relying upon the Background Intelligent Transfer Service (BITS). Windows Update Services submits a job to the BITS queue and gets notified if a download for a new update had happened.

Background Intelligent Transfer Service (BITS)

BITS itself is not a binary but an executable located at %SystemRoot%\system32\qmgr.dl. On Windows startup, it will be automatically started due to the registry key HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\BITS.

BITS in the registry
BITS in the registry

The purpose of BITS is – as the name already says – to download files in the background. BITS is able to monitor the bandwidth so that other applications get more bandwidth than BITS itself. The problem during a gaming session is, that most of the games don’t use much bandwidth. Because of this, BITS uses the whole bandwidth. With lower available bandwidth, games starting to lag and high pings inside the game occur.

Using the Local Group Policy Editor

You have to set each of the following configuration options by using the Group Policy editor.

To do so, press Win+R, enter gpedit.msc and press Enter.

Run gpedit.msc

On the left side of the opening window you can navigate through the configuration categories.

gpedit.msc
gpedit.msc

Please note that any setting you change in the Computer Confiugration category will take effect after you have restarted your computer.

Configure Automatic Updates does not do what you want

First of all, there are lot of articles and forum threads on the Internet describing how to schedule the download and installation of Windows Updates. Almost all of the articles references the Group Policy setting Computer Configuration\Administrative Templates\Windows Components\Windows Update \Configure Automatic Updates.

Here is the catch: The scheduling option does only apply for the installation of updates but not for the downloads. Updates will be downloaded as soon as possible.

Computer Configuration\Administrative Templates\Windows Components\Windows Update and click on Configure Automatic Updates
Computer Configuration\Administrative Templates\Windows Components\Windows Update

If you want to have full control about the timing of downloads, you might want to use option 2 (Notify for download and notify for install) of the setting. As the description says, updates will only be downloaded, after you have them approved.

Configure BITS via Group Policy

Luckily for us, BITS can also be configured below the Computer Configuration > Administrative Templates > Network > Background Intelligent Transfer Service (BITS) category.

BITS configuration in gpedit.msc

There are mainly two choices you can made:

1. Limit the maximum download bandwidth on every day

In the right pane select the option Limit the maximum network bandwidth for BITS background transfers. These option allows you to limit the network bandwidth of BITS during a time period on every day.

This policy setting limits the network bandwidth that Background Intelligent Transfer Service (BITS) uses for background transfers. (This policy setting does not affect foreground transfers.)

You can specify a limit to use during a specific time interval and at all other times. For example, limit the use of network bandwidth to 10 Kbps from 8:00 A.M. to 5:00 P.M., and use all available unused bandwidth the rest of the day’s hours.

If you enable this policy setting, BITS will limit its bandwidth usage to the specified values. You can specify the limit in kilobits per second (Kbps). If you specify a value less than 2 kilobits, BITS will continue to use approximately 2 kilobits. To prevent BITS transfers from occurring, specify a limit of 0.

If you disable or do not configure this policy setting, BITS uses all available unused bandwidth.

Note: You should base the limit on the speed of the network link, not the computer’s network interface card (NIC). This policy setting does not affect Peercaching transfers between peer computers (it does affect transfers from the origin server); the “Limit the maximum network bandwidth used for Peercaching” policy setting should be used for that purpose.

Consider using this setting to prevent BITS transfers from competing for network bandwidth when the client computer has a fast network card (10Mbs), but is connected to the network via a slow link (56Kbs).

Setting Limit the maximum network bandwidth for BITS background transfers

2. Limit the maximum download bandwidth on specific days

If you need more fine grained bandwidth limits, you can use one or both of the following settings. They allow you to specify also the day of the week when specific bandwidth limits will be applied.

Set up a maintenance schedule to limit the maximum network bandwidth used for BITS background transfers

This policy setting limits the network bandwidth that Background Intelligent Transfer Service (BITS) uses for background transfers during the maintenance days and hours. Maintenance schedules further limit the network bandwidth that is used for background transfers.

If you enable this policy setting, you can define a separate set of network bandwidth limits and set up a schedule for the maintenance period.

You can specify a limit to use for background jobs during a maintenance schedule. For example, if normal priority jobs are currently limited to 256 Kbps on a work schedule, you can further limit the network bandwidth of normal priority jobs to 0 Kbps from 8:00 A.M. to 10:00 A.M. on a maintenance schedule.

If you disable or do not configure this policy setting, the limits defined for work or nonwork schedules will be used.

Note: The bandwidth limits that are set for the maintenance period supersede any limits defined for work and other schedules.

Setting Set up a maintenance schedule to limit the maximum network bandwidth used for BITS background transfers

Set up a work schedule to limit the maximum network bandwidth used for BITS background transfers

This policy setting limits the network bandwidth that Background Intelligent Transfer Service (BITS) uses for background transfers during the work and nonwork days and hours. The work schedule is defined using a weekly calendar, which consists of days of the week and hours of the day. All hours and days that are not defined in a work schedule are considered non-work hours.

If you enable this policy setting, you can set up a schedule for limiting network bandwidth during both work and nonwork hours. After the work schedule is defined, you can set the bandwidth usage limits for each of the three BITS background priority levels: high, normal, and low.

You can specify a limit to use for background jobs during a work schedule. For example, you can limit the network bandwidth of low priority jobs to 128 Kbps from 8:00 A.M. to 5:00 P.M. on Monday through Friday, and then set the limit to 512 Kbps for nonwork hours.

If you disable or do not configure this policy setting, BITS uses all available unused bandwidth for background job transfers.

Setting Set up a work schedule to limit the maximum network bandwidth used for BITS background transfers

Wrapping things up

With the described Group Policy settings you are not able to schedule the download of Windows updates but you can control how much of the bandwidth is used during specific time periods.

Categories: Applications