Ask Ubuntu is a question and answer site for Ubuntu users and developers. Join them; it only takes a minute:

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

I am using Linux via an external drive & as such it's not able to provide that transfer speed efficiency as is provided by internal SATA plus not every PC has USB3...

Thus when I transfer say a ~5gb film from or to this external drive I notice that OS stucks or gnome breaks..

I thought that it be better that I use a defined transfer while copying large files...the idea is to cap transfer rate at max of 10mb/sec instead of present +20mb/sec. So how do I do it

cp <source> <desitnation> -<flag> <mydefinedrate> 
share|improve this question
up vote 2 down vote accepted

You can use rsync for that, for example:

rsync /path/to/source /path/to/dest --bwlimit 2000 --progress

The --bwlimit flag is to cap the transfer speed, the parameter is in KBps, so 2000 is roughly 2MB per second. The --progress is an extra nice touch to show progress. (Personally I use rsync all the time as a cp with progress indicator...)

share|improve this answer

I am not sure how to request a specific speed, but you can reduce the I/O priority of the process, which should have the same outcome.

Reduce the priority a little (default "best effort" scheduling with reduced priority)

ionice -n 7 cp <src> <dest>

Reduce the priority a lot ("idle only" scheduling)

ionice -c 3 cp <src> <dest>
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.