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> 

2 Answers 2


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...)


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>

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.