Linux

使磁碟/磁碟複製變慢

  • April 15, 2020

有沒有一種方法可以減慢 Linux 上的複製過程?

我有一個大文件,比如 10GB,我想將它複製到另一個目錄,但我不想全速複製它。假設我想以 1mb/s 的速度複製它,而不是更快。我想使用標準的 Linuxcp命令。

這可能嗎?(如果是,如何?)

編輯:所以,我將為我想要實現的目標添加更多上下文。

在通過 USB 複製大文件(到筆式驅動器、USB 磁碟等)時,我在 ArchLinux 系統上遇到問題。填滿 USB 緩衝區記憶體後,我的系統停止響應(即使滑鼠停止;它只是偶爾移動)。複製操作仍在進行中,但它佔用了盒子 100% 的資源。複製操作完成後,一切都恢復正常——一切都再次完美響應。

也許這是一個硬體錯誤,我不知道,但我知道我有兩台機器有這個問題(都在 ArchLinux 上,一台是台式機,第二台是筆記型電腦)。

最簡單和最快的“解決方案”(我同意這不是“真正的”解決方案,只是一個醜陋的“黑客”)將通過以 USB 驅動器的平均寫入速度複製文件來防止此緩衝區填滿,對於我這就夠了。

pv -qL您可以使用(或cstream -t提供類似功能)限制管道

tar -cf - . | pv -q -L 8192 | tar -C /your/usb -xvf -

-q刪除 stderr 進度報告。

限制以-L字節為單位。

更多關於--rate-limit/-L國旗的資訊man pv

-L RATE, --rate-limit RATE

   Limit the transfer to a maximum of RATE bytes per second.
   A suffix of "k", "m", "g", or "t" can be added to denote
   kilobytes (*1024), megabytes, and so on.

這個答案最初指出,throttle但該項目不再可用,因此已從某些軟體包系統中滑出。

引用自:https://unix.stackexchange.com/questions/117680