¿Sistema de Windows 7 utiliza subprocesos múltiples para acelerar la copia de archivos?

  
¿Por qué no puedo acelerar la función de copia /transferencia de archivos en Windows 7 en Windows 7? La implementación de copia de archivos multiproceso se puede implementar con robocopy. Los amigos que a menudo realizan operaciones de administración de archivos, mencionan las operaciones de copiar /pegar, probablemente muchas personas recordarán la lenta velocidad de copia de Vista, y no están satisfechas con la función de copia incorporada en el sistema Windows, porque es demasiado rápida. Entonces, todos usan software como FastCopy y TeraCopy para acelerar la replicación. Windows 7 soluciona este problema, pero el efecto parece no ser el ideal, pero ¿sabe que Windows 7 tiene una función de copia rápida incorporada?

Solución:
Se recomienda que si desea copiar un directorio que contiene varios archivos grandes, necesita usar el comando RoboCopy, que es un comando de copia de directorio de línea de comando que ha sido un recurso de Windows desde Windows NT 4.0. Como parte del kit de herramientas, luego integrado en Windows Vista, Windows 7 y Windows Server 2008 como características estándar, esta herramienta no solo copia muy rápido, sino que también admite retransmisiones de punto de interrupción, e incluso admite la copia a la hora especificada. Esta característica también se ha actualizado en Windows 7? D? D ya puede admitir subprocesos múltiples, lo que significa que la velocidad de replicación se puede mejorar en gran medida. Y esta función crea una copia duplicada completa de las dos estructuras de archivos sin copiar ningún archivo duplicado no deseado, mientras que también le permite mantener toda la información relevante del archivo, incluidas las marcas de fecha y hora, las listas de control de acceso de seguridad (ACL) y más. La copia de N directorios de archivos pequeños puede aumentar la velocidad en un orden de magnitud. Miles de archivos se copian en 3 segundos, y el método habitual de copiar y pegar toma aproximadamente 45 segundos. Por ejemplo, para copiar todos los archivos en el CD-ROM al directorio //CD del disco electrónico, puede ejecutar el siguiente comando: Robocopy /s F: //E: //CD Incluso si retira repentinamente el CD en este momento, no importa. Robocopy esperará hasta que el disco vuelva a insertarse en la unidad y la copia se iniciará automáticamente. Robocopy también admite la copia de LAN, e incluso la estructura de directorios del directorio especificado en el servidor de LAN se puede mover al local. Robocopy admite la operación de temporización y la operación de copia se puede realizar por la noche para evitar la congestión en la LAN y los inconvenientes para otros. Veamos el uso de este comando, como se muestra a continuación:

Por ejemplo: RoBoCopy dir_from dir_to /E /MT: 50 /LOG:copy.log donde /E significa subdirectorio incluido, /MT: 50 es 50 Subprocesos (por defecto 8 subprocesos, hasta 128), /LOG es la salida de redireccionamiento. Más opciones se pueden ver con robocopy /?. Sintaxis del comando: ROBOCOPY origen destino [archivo [archivo] ...] [opciones] Origen: Directorio fuente (unidad: ruta /////servidor //compartir //ruta) Destino: directorio de destino (unidad: //Ruta o ////servidor //compartir //ruta) Archivo: Archivo a copiar (nombre /comodín: el valor predeterminado es " *. * &Quot;) Para probar la velocidad de copia de archivos, realice la siguiente prueba


En la figura anterior se puede ver que en el caso de 120 subprocesos, se copia un solo archivo con un tamaño de 878.16MB, comenzando a las 14:56:31 y finalizando a las 14:57:06. 35 segundos para conseguir tiempo. Se recomienda que para poder probar cuántos subprocesos se pueden seleccionar para copiar archivos más rápidamente, use los scripts de PowerShell para el procesamiento por lotes para probar la relación correspondiente entre el tiempo y el subproceso en el caso de diferentes subprocesos, y trazarlos en coordenadas. El script de PowerShell probado es el siguiente: para ($ i = 128; $ i? Clt 129; $ i ++) {Robocopy /s C: //CD C: //prueba //CD $ i /MT: $ i /LOG: log /copy$i.log remove-item C: ////test//CD$i//*.* " $ i, " > > log /answer.txt (Get-Content C: //Log //copie $ i.log -TotalCount 6) [- 1] > > log /reply.txt ", " > > log /answer.txt (Get-Content C: //log //Copie $ i.log -TotalCount 10000) [- 1] > > log /answer.txt} La salida formateada de la secuencia de comandos se formatea, se importa a Excel a través del formato CSV, y el gráfico de líneas es como se muestra en la siguiente figura.   Serie 1 y " Línea:

Hay 324 archivos en el directorio de destino de la copia, el tamaño del archivo único es entre 1 MB y 2 MB, el tamaño total del archivo es de 549 MB, en comparación con el archivo único con el tamaño de 878,16 MB anterior. Al copiar Es más largo que antes. Debido a la gran cantidad de archivos, lleva mucho tiempo copiar uno por uno, y habrá errores después de muchos experimentos. Después de la normalización, el color amarillo en la figura es lineal (Serie 1). ), como se muestra en la línea, puede ver que el mismo grupo de archivos tiene diferentes velocidades de copia cuando se utilizan diferentes subprocesos. A medida que aumenta el número de subprocesos, el tiempo de copia disminuye linealmente. De hecho, robocopy tiene muchos métodos poderosos de uso. Los lectores pueden usar el comando robocopy /? Para consultar o ver las opciones detalladas del comando RoboCopy en el archivo adjunto al final de este artículo, desde el cual el lector encontrará opciones más poderosas para este comando.

Copyright © Conocimiento de Windows All Rights Reserved