Gibt es eine Methode, um den Kopiervorgang unter Linux zu verlangsamen?
Ich habe eine große Datei, sagen wir 10 GB, und ich möchte sie in ein anderes Verzeichnis kopieren, aber ich möchte sie nicht mit voller Geschwindigkeit kopieren. Nehmen wir an, ich möchte es mit einer Geschwindigkeit von 1 MB / s kopieren, nicht schneller. Ich möchte einen Standard-Linux- cp
Befehl verwenden.
Ist das möglich? (Wenn ja, wie?)
Bearbeiten : Also werde ich mehr Kontext zu dem hinzufügen, was ich erreichen will.
Ich habe ein Problem mit dem ArchLinux-System beim Kopieren großer Dateien über USB (auf ein USB-Laufwerk, eine USB-Festplatte usw.). Nach dem Auffüllen des USB-Pufferspeichers reagiert mein System nicht mehr (selbst die Maus bleibt stehen; sie bewegt sich nur sporadisch). Der Kopiervorgang ist noch nicht abgeschlossen, beansprucht jedoch 100% der Box. Wenn der Kopiervorgang abgeschlossen ist, kehrt alles zum Normalzustand zurück - alles reagiert wieder perfekt.
Vielleicht ist es ein Hardwarefehler, ich weiß es nicht, aber ich weiß, ich habe zwei Computer mit diesem Problem (beide sind unter ArchLinux, einer ist eine Desktop-Box, der zweite ist ein Laptop).
Die einfachste und schnellste "Lösung" für dieses Problem (ich stimme zu, es ist nicht die "echte" Lösung, sondern nur ein hässlicher "Hack") besteht darin, zu verhindern, dass dieser Puffer voll wird, indem die Datei mit einer durchschnittlichen Schreibgeschwindigkeit des USB - Laufwerks kopiert wird, z mir wäre das genug
cat file | pv -L 3k > outfile
. Beides ist jedoch nicht dasselbe wie die Verwendung von cp (1).
ionice
kann verwendet werden , um sicherzustellen , dass Ihr Disk-to-Disk - Kopiervorgang geplant ist I / O mit einer niedrigeren Priorität als normale Prozesse.