¿Por qué las operaciones de copia de archivos en Linux se vuelven más lentas con el tiempo?


22

Tengo 12 ~ 200 MB de archivos. Copiar uno de ellos a otro disco lleva 20 segundos. Cuando trato de copiarlos todos a la vez, primero dice que tomará 5 minutos, luego continúa disminuyendo en horas y días.

Estoy copiando los archivos a través de Thunar en XFCE, pero recuerdo haber tenido problemas similares al usar la línea de comandos. ¿Por qué ocurre esto y qué puedo hacer para remediarlo, aparte de copiar los archivos uno por uno?


¿Ha revisado la unidad en busca de errores? ¿Están estos archivos en subcarpetas?
tubaguy50035

@ tubaguy50035 Los archivos no están en subcarpetas. Dicho esto, es probable que la unidad fuente pueda tener errores. Voy a revisar.
Usuario no encontrado

@CodeGnome Hice un cp -v sourcedir / * destdir básico.
Usuario no encontrado

Respuestas:


25

Este es un problema conocido con el kernel de Linux que se conoce desde hace mucho tiempo, nadie ha abordado el problema todavía.

actualmente no hay una solución o solución alternativa conocida, aparte de usar Windows que aumenta la velocidad y luego se normaliza. Considero que este error es un problema de alta prioridad, pero los programadores no sienten lo mismo. Es solo este error el que me está alejando de Linux.

Refs:


66
Cita requerida! Podría ayudarnos a encontrar una respuesta si pudiera dar alguna documentación que apunte a este error
Journeyman Geek


66
y aquí, que se puede encontrar como un enlace en la cita original. bugzilla.kernel.org/show_bug.cgi?id=12309
Dave

¿Conduces lejos de Linux solo por esta razón?
Kyrol

1
@Kyrol esta es una razón muy grande!
puk

10

Debe intentar rsync para controlar su velocidad de transferencia. Por ejemplo:

rsync -PSauv sourcedir/* destdir/

Si realmente ve una caída en la velocidad de transferencia, a diferencia de los archivos que son simplemente grandes, entonces necesita mirar algunas otras cosas.

  1. Si su disco está vinculado a E / S, tendrá problemas. A menudo ve esto cuando escribe mucho en una unidad flash o en un dispositivo USB externo.

  2. Pruebe ambos discos hdparm -Tt <device>para ver si uno es dramáticamente más lento de lo que debería ser, o dramáticamente más lento que el otro dispositivo, lo que puede provocar problemas de E / S.

  3. Verifique su salida dmesg y su estado SMART para asegurarse de que no tenga ningún error obvio en el disco. También puede considerar badblocks -nsi sospecha que hay errores de disco en una unidad que no es SMART.

Hay muchas razones por las cuales un disco puede fallar o funcionar de manera subóptima, pero hasta que pueda medir el problema, no sabrá cuál es el problema. :)


2

Recuerde que también el proceso de copia de archivos está en caché de alguna manera por Linux. Si toma un solo archivo (incluso si es de 200 MB) y comienza a copiarlo en otro lugar, Linux almacena en caché, con gran probabilidad, todo el archivo en la memoria y lo escribe en su nueva ubicación. Luego, si elige copiar ese archivo nuevamente y con él un montón de otros archivos, entonces el primer archivo ya está en caché y probablemente omita toda la "parte leída", mientras que los otros primero se leen y luego se escriben en sus fuentes / destinos. Esta característica incluso puede conducir a velocidades de transferencia infinitas y rarezas similares, por lo que no confíe en ninguna medición que pueda ser invalidada por mecanismos de chache anteriores.


-3

Grabe una copia de SliTaz en un CD / USB.

Está diseñado para su uso en máquinas realmente antiguas y funciona muy rápido ya que está en RAM. No necesita hacer una instalación, solo ejecútelo en vivo. Si tiene un USB montado, podrá verlo y luego copiar lo que necesita en su computadora. Las tasas de transferencia que he encontrado son estables y rápidas.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.