¿Existe algún método para ralentizar el proceso de copia en Linux?
Tengo un archivo grande, digamos de 10 GB, y me gustaría copiarlo en otro directorio, pero no quiero copiarlo a toda velocidad. Digamos que me gustaría copiarlo a la velocidad de 1 mb/s, no más rápido. Me gustaría usar un cp
estándar de Linux comando.
es posible? (En caso afirmativo, ¿cómo?)
Editar :entonces, agregaré más contexto a lo que estoy tratando de lograr.
Tengo un problema en el sistema ArchLinux al copiar archivos grandes por USB (a un pendrive, disco usb, etc). Después de llenar el caché del búfer usb, mi sistema deja de responder (incluso el mouse se detiene; se mueve solo esporádicamente). La operación de copia aún está en curso, pero consume el 100 % de los recursos de la caja. Cuando finaliza la operación de copia, todo vuelve a la normalidad:todo vuelve a responder perfectamente.
Tal vez sea un error de hardware, no lo sé, pero sé que tengo dos máquinas con este problema (ambas están en ArchLinux, una es una caja de escritorio, la segunda es una computadora portátil).
La "solución" más fácil y rápida para esto (estoy de acuerdo en que no es la solución 'real', solo un 'truco' feo) sería evitar que este búfer se llene copiando el archivo con una velocidad de escritura promedio de la unidad USB, por para mí eso sería suficiente.
Respuesta aceptada:
Puede estrangular una tubería con pv -qL
(o cstream -t
proporciona una funcionalidad similar)
tar -cf - . | pv -q -L 8192 | tar -C /your/usb -xvf -
-q
elimina los informes de progreso de stderr.
El -L
el límite está en bytes.
Más información sobre --rate-limit/-L
bandera del 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.
Esta respuesta apuntaba originalmente a throttle
pero ese proyecto ya no está disponible, por lo que se ha escapado de algunos sistemas de paquetes.