Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

Specifically, I am looking to rate-limit an scp or sftp session (or other arbitrary network call) in the call itself.

For example, let's say I want to copy 100MB to one server, and 1GB to another. I'd like to be able to run both of these at the same time, but maintain a QoS for "normal" computer usage - somewhat similar to how you can rate-limit bittorrent.

Is there a way to do this without touching the networking hardware?

I'm envisioning something akin to:

magic-qos-tool 'scp file user@host:/path/to/file'


scp -rate 40kbps file user@host:/path/to/file
share|improve this question
up vote 11 down vote accepted

Yes, there's an application that works exactly like your 'magic-qos-tool', called "trickle".

     trickle -u 10 -d 20 ncftp

     Launch ncftp(1) limiting its upload capacity to 10 KB/s, and download ca-
     pacity at 20 KB/s.
share|improve this answer
thanks, @davr - one wrapper tool vs learning all the options to each is a great improvement :) – warren Apr 8 '10 at 14:51

scp has -l, and rsync has --bwlimit.

share|improve this answer
that was not an option in the man page I checked earlier... looks like it depends on the platform, perhaps? – warren Apr 2 '10 at 20:52
Quite possibly. I have OpenSSH 5.3p1 here. – Ignacio Vazquez-Abrams Apr 2 '10 at 20:55
XenServer 6 has scp with -l option – Brian Boatright May 28 '12 at 21:06

Rsync makes this easy on you, it has an option to do this: --bwlimit=KBPS

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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