¿Es el algoritmo de copia de archivos de Linux (Ubuntu) mejor que Windows 7?

13

Copiar Windows es un verdadero desastre desde Windows Vista. Incluso Microsoft afirma que han mejorado el rendimiento, desde la perspectiva del usuario, no es del todo visible. Incluso con un solo archivo, la ventana de copia aparece demasiado tiempo para 'Calcular' y luego finalizar la copia (incluso después de completar el 100% algunas veces, el diálogo permanece activo).

Al mismo tiempo, estaba haciendo una copia de seguridad de algunos archivos en Ubuntu Linux. Sentí que es realmente rápido. Podría ser un sentimiento causado por actualizaciones más rápidas de la interfaz de usuario.

Hace unos años leí una publicación informativa de Jeff Atwood sobre la copia de archivos de Windows . pero cuales son mis preguntas específicas

  • ¿Es (Ubuntu) el rendimiento del archivo Linux mejor que Windows-7?
  • ¿Son ambos algoritmos, Windows y Linux están utilizando múltiples hilos y mecanismos de canalización para mejorar la velocidad? En caso afirmativo, ¿cuál es mejor?
sarat
fuente
3
En uso de Windows xcopy, o incluso robocopy. Mucho mejor. Por ejemplo, con este último puede hacer dos pases, primero para crear todos los directorios pero no copiar ningún archivo, y segundo para copiar los archivos reales, sin causar fragmentación en el destino.
Kerrek SB
1
O RichCopy ( blogs.technet.com/b/ken y descarga )
sehe
Depende también del sistema de archivos: su sistema probablemente usa algo como ext3/4, que está compitiendo con NTFS aquí. También puede probar reiserfsy xfs, ambos optimizados para operaciones rápidas con archivos pequeños.
nuevo123456
@KerrekSB, responda su comentario para que pueda votarlo. (Acabo de hacer +1 en el comentario, pero sabes a lo que me refiero). Esa es la respuesta.
CarlF
Cabe señalar (¡aunque 8 años después!) Que Robocopy / CREATE, aunque es muy útil para replicar una estructura de directorio completa con archivos vacíos, no evita por sí misma la fragmentación de los archivos en el destino. La estructura se crea en la MFT, pero luego el contenido de los archivos se puede grabar en cualquier lugar. Normalmente, incluso en una sola pasada, si Robocopy está ejecutando un subproceso único y copia un archivo a la vez, no debería haber fragmentación de todos modos (y ejecutarlo con subprocesos múltiples es una mala idea, ya que reduce severamente el rendimiento de una copia de HDD a HDD, ya que el accionamiento mecánico tiene que "moler" mucho más).
GabrielB

Respuestas:

6

El estándar copyincorporado en Windows no es muy bueno, pero Windows viene con dos comandos avanzados que son mucho más eficientes: xcopyy robocopy. Especialmente cuando necesita control total sobre características avanzadas del sistema de archivos como ACL o flujos de datos alternativos, robocopyes la herramienta de elección.

A modo de ejemplo, si está copiando una estructura de directorio grande, puede desear que el objetivo no esté fragmentado . La invocación estándar de robocopyya es bastante buena en eso, pero dado que las entradas de directorio se actualizan a medida que se crean subdirectorios, aún puede obtener directorios fragmentados. Para evitarlo, puede ejecutar robocopydos pasadas, la primera de las cuales solo crea la estructura de directorio de destino sin copiar el contenido del archivo, y la segunda para copiar realmente los cuerpos de los archivos.

En conjunto, robocopyes muy eficiente y conoce las características de NTFS.

Kerrek SB
fuente
¿Es NTFS mejor eficiente que ext3 / 4?
sarat
Cómo una robocopia de dos pasadas nos ayuda a reducir la fragmentación, ya que el contenido real se copiará más adelante. La asignación del disco está totalmente controlada por el administrador de archivos no?
sarat
Estoy haciendo algunos trucos como usar Beyond Compare para copiar archivos. Es decir, puedo ejecutar múltiples operaciones de copia para maximizar el uso del ancho de banda. Pero no estoy seguro de cuán fragmentado será
sarat
2
@Sarath: con respecto a la fragmentación: las entradas del directorio crecen a medida que se agregan nuevos archivos y subdirecciones al directorio. Si crea ingenuamente el directorio y comienza a colocar archivos, eventualmente el registro del directorio original será demasiado pequeño y tendrá que ser extendido, pero ahora no hay espacio porque ya tiene los datos del archivo que lo siguen. Con la /CREATEopción, se crean archivos vacíos y subdirecciones, que no ocupan espacio y, por lo tanto, permiten que las entradas del directorio se escriban de forma contigua.
Kerrek SB
1
@Sarath: En cuanto a comparar NTFS con Ext, no puedo decir, porque NTFS no está abierto y la cuestión de la eficiencia es bastante vaga. NTFS es ciertamente una excelente pieza de tecnología con una gran cantidad de características. Sin embargo, no hay realmente una opción, porque usará NTFS en Windows y Ext (o BTRFS) en Linux y eso es todo.
Kerrek SB
4

Probablemente, parte de la velocidad que ve en Ubuntu Linux es el almacenamiento en caché de archivos. Hasta donde sé, la copia de archivos en Linux no hace ningún esfuerzo para minimizar el uso de caché de archivos.

Con Linux cuando copia un archivo que es más pequeño que aproximadamente el 50% de su RAM, todo el archivo se copia en la caché de archivos y luego se escribe en el disco cuando el tiempo lo permite. Esto parece ser muy rápido, pero obliga a otros archivos más útiles a salir de la memoria caché. Estos pueden ser archivos de caché web, correos electrónicos, archivos de configuración, archivos de fuentes, etc.

Windows XP solía copiar sin tener en cuenta la caché de archivos también. Pero en Windows Vista, Microsoft cambió el Explorador de modo que cuando copia usa una cantidad limitada de caché de archivos . Esto reduce el impacto de las copias de archivos grandes en el resto del sistema. Pero también reduce la velocidad de copias de archivos incluso relativamente pequeñas a la velocidad del disco duro.

Zan Lynx
fuente
Sí Ubuntu usando el mecanismo de almacenamiento en caché de archivos. También noté que la navegación es un poco lenta mientras se realizaba la copia. También noté que la velocidad se mejora constantemente, especialmente al copiar una gran cantidad de archivos
sarat
Creo que esta es la respuesta que aborda la pregunta casi por completo.
Nandakumar Edamana
2

En Windows, use Teracopy: resolverá el problema general de estupidez que tiene Explorer.

En Ubuntu, encontré que la copia de archivos es muy rápida.

Aún así, el cuadro de diálogo "Operación de archivo" no desaparece cuando está utilizando unidades extraíbles. Si intenta expulsar la unidad de forma segura inmediatamente después de que desaparezca el cuadro de diálogo, recibirá un mensaje de error. Sin embargo, los datos pasan.

Actualización: las operaciones de archivo de Windows son lentas probablemente de toda la integración con los servicios y el registro. Nautilus (en Gnome) es solo un proceso simple, supongo o al menos no tiene la carga / interrupciones que tiene Explorer.

BZ1
fuente
Resuelva la estupidez agregando otra GUI que debe permanecer abierta :) En ubuntu, mi experiencia es que puede cerrar el cuadro de diálogo copiar / mover e irá a la bandeja del sistema, mostrando una notificación cuando haya terminado. No estoy seguro de cómo Natty con Unity Desktop hace eso
sehe
Teracopy se carga con Explorer. No tiene que mantenerlo abierto. Por lo tanto, Teracopy se carga en la memoria sin ningún esfuerzo del usuario y funciona de manera discreta. Ubuntu no necesita nada de eso porque tiene toda esa inteligencia incorporada en Nautilus, es decir, "fusionar" y "omitir" las opciones.
BZ1
+1: ¡gracias por llamar mi atención sobre TeraCopy!
sehe
Estaba usando una herramienta gratuita y de código abierto llamada fastcopy. [ ipmsg.org/tools/fastcopy.html.en]
sarat
-1

Mover y copiar archivos en Linux es, naturalmente, una operación rápida. La razón por la que puede mover y copiar archivos tan rápido es porque tanto el origen como el destino están en la misma partición. La operación solo necesita cambiar los inodes. Mover archivos entre diferentes particiones sigue siendo muy rápido (solo un minuto más o menos para un archivo de 1 concierto). En Windows, se necesitan algunos para mover archivos a destinos en la misma partición porque la administración de archivos en Windows es desordenada. (Piense en la fragmentación de archivos y la forma en que Windows formatea los discos duros).

usuario113907
fuente
Estoy de acuerdo en que moverse es bastante rápido dentro de las particiones. Pero la copia siempre quiso tener una fecha duplicada en el disco y crear nuevos inodes. También dudo que mover archivos entre particiones sea costoso porque está ocurriendo un movimiento físico de archivos. Corrígeme si estoy equivocado.
sarat