7

I have an app that is rather particular about my bandwidth - namely wanting nearly all of it. This app runs quite well when I don't have anything else open, but it starts to lag and sound ugly when I open a Chrome window and start browsing around.

I believe that if I could limit Chrome's bandwidth, and the bandwidth of a few other apps, I could continue to browse without causing this problem app to lag and jitter.

I'd like:

  • To be able to limit individual app's bandwidth usage, much like I can with Network Link Conditioner for the whole machine.
  • Only have this setting affect the apps I set it on.
  • I don't care if it has a GUI or not. I live in the terminal 40% of the day, so meh.

Is there an app that can do this? I have administrator privs on OS X 10.9.2.

7

For a graphical interface, try throttled.

Considering you are savvy, you can could also get creative with builtin OS tools, as detailed below.

I say creative because, to the best of the knowledge, they don't let you throttle specific applications, but you can throttle ports and addresses.

ipfw

Using ipfw to throttle inbound traffic from standard HTTP and HTTPS ports, like so, should throttle Chrome and other browsers:

sudo ipfw pipe 1 config bw 100Kbytes/s 
sudo ipfw add 1 pipe 1 src-port 443
sudo ipfw add 1 pipe 1 src-port 80

Remove the rules with:

sudo ipfw delete 1

pfctl

Note, however that ipfw has been deprecated. It still works, but I would really like to give you a comparable command/configuration for its successor pf/pfctl.

Unfortunately, pf is rather obtuse, and I am not certain the current Mac OS X 10.9.2 kernel is properly configured to fully utilize it, vis-a-vis the error:

No ALTQ support in kernel
ALTQ related functions disabled 

If you would like to geek out, and get to a non-deprecated solution, here is a five second primer.

BSD's pf (packet filter) is an analog to the Linux tool tc (traffic control), and they allow you to create different types of scheduled queues for network packets.

You may be able to use a Priority Queue to make your greedy application's traffic process first. Or, use a Class Based Queue to explicitly restrict the bandwidth as with ipfw.

http://www.openbsd.org/faq/pf/queueing.html#priq


Other Suggestions

Similar questions asked on other stackexchange sites:

https://apple.stackexchange.com/questions/7426/bandwidth-shaper-or-bandwidth-controller-app-for-mac-os-x

https://apple.stackexchange.com/questions/24066/how-to-simulate-slow-internet-connections-on-the-mac/46378#46378

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.