Background Intelligent Transfer Service (BITS) is a system component in Microsoft Windows operating system that facilitates asynchronous, prioritized, and throttled transfer of files between machines using idle network bandwidth. It also plays a role in the download of files from a peer. This BITS Service is essential for Windows Updates to work properly. If the service is disabled, then any applications that depend on BITS, such as Windows Update or MSN Explorer, will be unable to automatically download programs and other information.
Background Intelligent Transfer Service BITS was first introduced on Windows 2000 which allows the transfer of files between server and client. Recent versions of Microsoft Update, Windows Update, Microsoft Systems Management Server and Windows Server Update Services use Background Intelligent Transfer Service to deliver application updates to clients.
How BITS service works
There are three types of transfer jobs performed by the Background Intelligent Transfer Service (BITS). A download job downloads files to the client, an upload job uploads a file to the server, and an upload-reply job uploads a file to the server and receives a reply file from the server application.
- Asynchronously transfer files in the foreground or background.
- Preserve the responsiveness of other network applications.
- Automatically resume file transfers after the network disconnects and computer restarts.
Background Intelligent Transfer Service (BITS) Version History
Microsoft first Introduced Background Intelligent Transfer Service on Windows 2000
Next Microsoft Upgraded BITS version 1.0 in Windows XP in 2001.
Then Version 1.2 arrived in mid-2002 to add the Automatic Updates service to Windows 2000.
With Windows Server 2003 Microsoft updates BITS Version 1.5 in late 2003 and brought command-line support, more upload features, and security improvements.
BITS version 2.0, released in mid-2004 as an update for multiple OS deployments, added more download features, bandwidth throttling and support for Server Message Block (SMB).
Released in mid-2007, BITS version 2.5 added support for IPv6 and custom HTTP headers, and better HTTP security.
With Windows Vista and Windows Server 2008, Microsoft included BITS version 3.0 with peer caching, notifications, temporary file access, HTTP redirect handling, additional Group Policy controls, and event logging.
In mid-2009 Microsoft Included BITS version 4.0 with Windows 7 and Windows Server 2008 R2, brought token-based security, standalone file server features, refined bandwidth throttling, and revised peer caching.
BITS 5.0, included with Windows 10 in mid-2016, added improvements to background copy jobs and support for older background copy jobs, and the ability to use BITS through APIs and PowerShell cmd lets.
With Windows 10 creator update Version 1703 Microsoft upgrade BITS version 10.1 with refined download and notification features.
Determining the Version of BITS on a Computer
To determine the version of BITS on the client computer, check the version of QMgr.dll. To find the version number of the DLL:
- Locate QMgr.dll in %windir%\System32.
- Right-click QMgr.dll and click Properties.
- Click the Version tab.
- Note the version number.
You can also use the following PowerShell code to determine the version of the .dll on your system:
get-item "C:\Windows\System32\qmgr.dll" | Select-Object -ExpandProperty VersionInfo
If the DLL also exists in %windir%\System32\Bits, repeat the previous steps. BITS uses the DLL with the higher version number.
How To Start / Restart BITS service?
On Windows computers, Background Intelligent Transfer Service is set to start automatically at startup. But due to some reason, if Service is not started, you may face different problems while check and installing windows updates. That causes you need to manually check and start the BITS service.
- To do this Press Windows + R key, type services.msc and hit the enter key to open Windows services.
- Now scroll down look for Background Intelligent Transfer Service.
- If this service is Running simply Right click on it and select Restart.
- This will Restart the BITS service and fix if the service is stuck due to any reason.
- Or if the Service is not started then simply double-click on it.
On the new popup under the general tab change the startup type to Automatic and start the service next to service status as shown below image.
How To Stop BITS Service?
If due to some reason BITS service get stuck not respond you may face High System Resource usage problem. Such as 100% CPU usage, High Disk or memory usage etc. And While troubleshooting these problems we need to Stop the BITs service to fix the issue. Also, Most of the users suggest on Microsoft Forum, and Reddit to Disable the BITS service to fix the High CPU usage problem.
To Disable the BITS service
- Again open windows services by press windows + R, type services.msc and hit the enter key.
- Double-click on BITS service, Change the startup type to disable and Stop the service if its running
Start / Stop BITS using the Command prompt
Also, you can use the windows command prompt to Start / Stop the BITS service. To do this open the Command prompt as administrator.
- Then first use command sc bits query to Check The service is running or not.
- If everything is OK, You will see “STATE: 2 RUNNING” in the outputs.
- You may find “SATE: 1 STOP_PENDING“.
Then you can use the command net start bits to Start the BITs service. And You can use the command net stop bits to Stop the service.
I hope this post helps you to know about Background Intelligent Transfer Service. How BITS service works on the windows computer, Different versions of BITs service with Feature updates. And How to Start, Restart or Stop Background Intelligent Transfer Service using the command prompt etc.