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>

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .