Bandwidth shaper or bandwidth controller application for Mac OS X

Solution 1:

For those on 10.7 or newer, the easiest solution to the bandwidth limiting part of the question is Apple's Network Link Conditioner (NLC), a free utility that was originally included with Xcode. Then Apple got all sandbox-happy, so now it's a separate download from Apple's developer web site, called the Additional Tools for Xcode.

The important points going for NLC are that it's from Apple, it's got a very straightforward UI, and it works. Some of the other suggestions given in other answers fail some or all of these criteria, particularly in failing to work on newer OSes.

As for monitoring per-application bandwidth usage, I recommend iStat Menus.

Solution 2:

There are multiple ways to do this.

For example, using ipfw, pf, or trickle, or GUI front ends to these, such as:

  • Speed Limit (not maintained as of 2014)
  • Throttled (only 10.4.x - 10.8.x)
  • Waterroof (10.7): http://www.hanynet.com/waterroof/
  • IceFloor (10.8): http://www.hanynet.com/icefloor/