Windows system >> Windowsの知識 >  >> Windows 7システムチュートリアル >> Windows 7システムチュートリアルについて >> Windows 7システムはファイルのコピーをスピードアップするためにマルチスレッドを使用しますか?

Windows 7システムはファイルのコピーをスピードアップするためにマルチスレッドを使用しますか?

  
      Windows 7でWindows 7のファイルコピー/転送機能を高速化できないのはなぜですか?マルチスレッドファイルコピーの実装は、robocopyを使って実装できます。ファイル管理操作を頻繁に行う友人、コピー/貼り付け操作について言及する、おそらく多くの人がVistaの遅いコピー速度を思い出すだろう、そしてそれが速すぎるので、Windowsシステムに組み込まれたコピー機能に満足していない。 Windows 7はこの問題を解決しますが、その効果は理想的ではないようですが、Windows 7にはファストコピー機能が組み込まれていることをご存知ですか。

解決方法:
複数の大きなファイルを含むディレクトリをコピーする場合は、RoboCopyコマンドを使用する必要があります。これは、Windows NT 4.0からWindowsのリソースとして使用されてきたコマンドラインディレクトリコピーコマンドです。ツールキットの一部であり、標準機能としてWindows Vista、Windows 7、およびWindows Server 2008に組み込まれているため、このツールは非常に高速にコピーできるだけでなく、ブレークポイントの再送信もサポートします。この機能はWindows 7でもアップグレードされていますか?D?Dはすでにマルチスレッドをサポートしているため、レプリケーション速度を大幅に向上させることができます。また、この機能により、不要な重複ファイルをコピーせずに2つのファイル構造の完全ミラーコピーを作成しながら、日付とタイムスタンプ、セキュリティアクセス制御リスト(ACL)などの関連ファイル情報をすべて保持できます。 N個の小さなファイルディレクトリをコピーすると速度が1桁速くなりますが、3秒で何千ものファイルがコピーされますが、通常のコピーアンドペースト方法では約45秒かかります。たとえば、CD-ROMのすべてのファイルをEディスクの//CDディレクトリにコピーするには、次のコマンドを実行します。Robocopy /s F://E://CDこの時点で突然CDを取り出しても問題ありません。 Robocopyはディスクがドライブに再挿入されるまで待ちます、そしてコピーは自動的に始まります。 RobocopyはLANコピーにも対応しており、LANサーバー内の指定されたディレクトリのディレクトリ構造もローカルに移動することができ、タイミング操作をサポートし、夜間にコピー操作を実行してLANの輻輳や他の人に迷惑をかけません。次に示すように、このコマンドの使用方法を見てみましょう。

次に例を示します。RoBoCopy dir_from dir_to /E /MT:50 /LOG:copy.logここで、/Eはサブディレクトリが含まれることを意味し、/MT:50は50です。スレッド(デフォルトは8スレッド、最大128)、/LOGはリダイレクト出力です。その他のオプションはrobocopy /?で見ることができます。コマンド構文:ROBOCOPY source destination [ファイル[file] ...] [options]ソース:ソースディレクトリ(ドライブ:パス/////サーバー//share //パス)ターゲット:ターゲットディレクトリ(ドライブ://)パスまたは////server //share //path)ファイル:コピーするファイル(名前/ワイルドカード:デフォルトは" *。*")ファイルのコピー速度をテストするには、次の手順を実行します。


上の図からわかるように、120スレッドの場合、サイズが878.16MBの単一ファイルが14:56:31から始まり14:57:06までにコピーされます。時間を取るために35秒。ファイルをより速くコピーするために選択できるスレッド数をテストできるようにするには、バッチ処理用のPowerShellスクリプトを使用して、スレッドが異なる場合の時間とスレッドの対応関係をテストし、それらを座標上にプロットします。テストしたPowerShellスクリプトは次のとおりです。for($ i = 128; $ i?Clt 129; $ i ++){Robocopy /s C://CD C://test //CD $ i /MT:$ i /LOG:log /copy$i.log remove-item C:////test//CD$i//*.*" $ i、">> log /answ.txt(Get-Content C://Log //copy $ i.log -TotalCount 6)[ - 1]>> log /answ.txt"、">> log /answ.txt(Get-Content C://log //)コピー$ i.log -TotalCount 10000)[ - 1]>> log /answ.txt}書式設定されたスクリプトの出力は書式設定され、CSV形式でExcelにインポートされます。折れ線グラフは次の図のようになります。シリーズ1の行:

コピーのターゲットディレクトリに324個のファイルがあり、1つのファイルのサイズは1 MBから2 MB、合計のファイルサイズは549 MBです。これは、上記の878.16 MBのサイズの単一のファイルと比較します。コピーするときファイルの数が多いため、1つずつコピーするのに長い時間がかかり、多くの実験の後でエラーが発生します正規化後の図の黄色は線形です(シリーズ1)。 )で示されるように、異なるスレッドを使用すると、同じファイルグループのコピー速度が異なることがわかりますスレッドの数が増えるにつれて、コピー時間は直線的に減少します。読者はrobocopy /?コマンドを使用して、この記事の最後に添付されているRoboCopyコマンドの詳細オプションを照会または表示することができ、そこからこのコマンドに対するより強力なオプションを見つけることができます。

Copyright © Windowsの知識 All Rights Reserved