以定义的传输速率复制文件

以定义的传输速率复制文件

我正在通过外部驱动器使用 Linux,因此它无法提供内部 SATA 所提供的传输速度效率,而且并非每台 PC 都具有 USB3...

因此,当我从这个外部驱动器传输一部~5gb 的电影或向其传输一部~5gb 的电影时,我注意到操作系统卡住了或者 gnome 崩溃了...

我认为在复制大文件时最好使用定义的传输...想法是传输速率最高为 10mb/秒,而不是现在的 +20mb/秒。那么我该怎么做

cp <source> <desitnation> -<flag> <mydefinedrate> 

答案1

您可以使用rsync它,例如:

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

--bwlimit标志用于限制传输速度,参数以 KBps 为单位,因此 2000 大约为每秒 2MB。这--progress是显示进度的一个非常好的技巧。(我个人rsync一直将其用作cp进度指示器......)

答案2

我不确定如何请求特定的速度,但您可以降低该进程的 I/O 优先级,这应该具有相同的结果。

稍微降低优先级(默认“尽力而为”调度,降低优先级)

ionice -n 7 cp <src> <dest>

大幅降低优先级(“仅空闲”调度)

ionice -c 3 cp <src> <dest>

相关内容