How to Throttle Bandwidth for Apps in Windows 10

Last Updated on January 28, 2022

Windows 10 has a lot of apps running in the background all the time. Some take up the system memory, others use your bandwidth. One of these apps is Microsoft’s OneDrive. If you are not familiar with it, it is an online cloud storage service by Microsoft which is preinstalled on a lot of systems running Windows 10. The Windows 10 app for OneDrive always keeps running in the background taking up your precious bandwidth and increasing the ping.

While this won’t affect a normal user, this might turn frustrating really quickly for gamers and people who require ping to remain stable. Any jump in ping from 10-50 can have a drastic change in how your character acts in a game.

How to Throttle Bandwidth for Apps in Windows 10


onedrive

Adding insult to the injury, both the Windows 10 and the OneDrive app don’t give us an option in the system to limit or disable this bandwidth-hogging process happening without our permission. Fortunately for us, there are some PowerShell tricks that we can use in order to set up limits for the OneDrive app.

For controlling the bandwidth used by OneDrive (or any app for that matter), we can use two metrics:

  • Throttlingan upper limit which can be used.
  • WeightingSort of like a priority scheme which decides which apps get higher bandwidth when multiple apps are running.

Note: The steps mentioned below will require some technical knowledge. We try our best to explain everything in layman terms. You can try TMeter or inbuilt bandwidth limiting apps if you don’t want to tinker around.


Steps for Throttling Bandwidth for an App (say OneDrive)

  • Press Alt + Ctrl + Delete to open the Task Manager.
  • In the Processes tab click on the Network column label in order to arrange the apps by decreasing Network usage. Remember the name of the App (OneDrive.exe in this example).
  • Now press Win + R to open Run box. Typepowershell” without quotes.
  • In the PowerShell window, type “New-NetQosPolicy -Name OneDriveLimits -AppPathNameMatchCondition OneDrive.exe -IPProtocolMatchCondition Both -NetworkProfile All -ThrottleRateActionBitsPerSecond 5000000 without quotes. This will set the OneDrive.exe process to use a maximum of 5Mbps max from your whole bandwidth. You can use any value here like 1000000 for a maximum of 1Mbps.
  • You can check whether the value is enforced in the system by typing “Get-NetQosPolicy -Name OneDriveLimits” in the PowerShell.

Changing Bandwidth After Throttling

In the PowerShell window, type “Set-NetQosPolicy -Name OneDriveLimits -ThrottleRateActionBitsPerSecond 9000000” where 9000000 will allocate 9Mbps from your overall bandwidth for the OneDrive app.


Deleting Bandwidth Throttling Policy

If you are not satisfied with the results, you can also reverse the changes by deleting the throttling policy that you implemented via PowerShell. For doing this, type “Remove-NetQosPolicy -Name OneDriveLimits” in PowerShell.

By this, you can throttle bandwidth for any app which is taking your precious data and increasing the ping. If you face any problem using this method, use the comments section to tell us more about the specifics of the app and we’ll let you know the process.

(source)

Photo of author

Written by Utkarsh

Utkarsh Bhatt is a certified tech expert and software engineer for a Fortune 500 Company. He was born in 1995, making him one of the oldest members of the team at EFX. Utkarsh loves solving technical issues and is always the first to jump on any problem that needs solving. When he’s not coding or debugging, he enjoys playing video games (especially Super Smash Bros.) and watching cartoons.

Share on:

9 thoughts on “How to Throttle Bandwidth for Apps in Windows 10”

  1. Unable to remove created policy

    I created a policy using the powershell .
    New-NetQosPolicy –Name \”chrome\” -AppPathNameMatchCondition chrome.exe -MinBandwidthWeightAction 30 -PolicyStore ActiveStore

    When i use the command Get-NetQosPolicy -PolicyStore ActiveStore , the policy is available

    Now i am unable to remove the policy. (tried as admin also)
    Remove-NetQosPolicy –Name “chrome”

    The error i get is “Remove-NetQosPolicy : No MSFT_NetQosPolicySettingData objects found with property ‘Name’ equal to ‘chrome’. Verify the value of the property and retry. ”

    Any help please.

    Reply
    • Based on my usage, I’ve seen that this method doesn’t really work well with 3rd party apps. Just for the sake of experimentation, I applied the throttling to the Windows App store, and it worked flawlessly. I was also able to remove the bandwidth restrictions without the No MSFT_NetQosPolicySettingData objects found with property ‘Name’ equal to ‘’. However, I think that this will work by adding chrome to the environment variables in Windows. You can know more about it here. Do let me know if this works for you.

      Reply
  2. Sadly this doesn’t seem to work in successfully throttling the Microsoft Windows Store app in windows 10.

    New-NetQosPolicy -Name MicrosoftStoreDLimits -AppPathNameMatchCondition WinStore.App.exe -IPProtocolMatchCondition Both -NetworkProfile All -ThrottleRateActionBitsPerSecond 500000

    New-NetQosPolicy -Name svchostdotexeDLimits -AppPathNameMatchCondition svchost.exe -IPProtocolMatchCondition Both -NetworkProfile All -ThrottleRateActionBitsPerSecond 500000

    Neither command throttled the Store app. Tried rebooting, not change. The policy is in place. I checked.

    Reply
  3. I used this for the OpenDrive Sync Service which was using all of my bandwidth! Free and very effective solution, thank you!

    set-NetQosPolicy -Name OpenDrive -AppPathNameMatchCondition OpenDrive_SyncService.exe -IPProtocolMatchCondition Both -NetworkProfile All -ThrottleRateActionBitsPerSecond 3000000

    Reply
  4. I’ve tested this with Steam as its in-app limiter often fails. So this works, but the throttle limit doesn’t work as expected. Steam uses 4MB/s and I’m trying to limit it to 2MB/s (MegaBYTES per second, default display value on Steam). Setting -ThrottleRateActionBitsPerSecond to 2000000 limits it to 2MegaBits/s as shown by Get-NetQoSPolicy , which should actually limit steam to 0.250MB/s if we go with default Mbps to MB/s conversion, yet it had no effect. After experimenting with other values, I found that “400000” limits Steam to 2.5MB/s (i.e. 20Mbps), close to what I want, even though Get-NetQoSPolicy still displays 400KBits/sec. Something wonky is going with conversion, nonetheless, it works, so thanks for the post!

    If anyone wants the code only:
    New-NetQosPolicy -Name steamlimit -AppPathNameMatchCondition steam.exe -IPProtocolMatchCondition Both -NetworkProfile All -ThrottleRateActionBitsPerSecond 400000

    sets to 2.5MB/s, experiment with the final number

    Reply
    • I think the limitations would only apply to upload. If you restrict the upload to Steam it may slow down the download rate as a byproduct since Steam is not able to upload the parity/error-checking information as quickly.

      Reply

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.