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

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

  
Windows 7でWindows 7のファイルコピー/転送機能を高速化できないのはなぜですか?マルチスレッドファイルコピーの実装は、robocopyを使って実装できます。
ファイル管理操作を頻繁に行う友人、コピー/貼り付け操作について言及する、おそらく多くの人がVistaの遅いコピー速度を思い出すでしょう。 。 Windows 7はこの問題を解決しますが、その効果は理想的ではないようですが、Windows 7にはファストコピー機能が組み込まれていることをご存知ですか。解決策:
複数の大きなファイルを含むディレクトリをコピーする場合は、RoboCopyコマンドを使用する必要があります。これは、Windows NT 4.0からWindowsリソースキットになっているコマンドラインディレクトリコピーコマンドです。その一部がWindows Vista、Windows 7、およびWindows Server 2008に標準機能として組み込まれているため、このツールは非常に高速にコピーできるだけでなく、ブレークポイントの再送信もサポートし、指定した時間のコピーもサポートします。この機能はWindows 7でもアップグレードされていますか?D?Dはすでにマルチスレッドをサポートしているため、レプリケーション速度を大幅に向上させることができます。また、この機能により、不要な重複ファイルをコピーせずに2つのファイル構造の完全なミラーコピーを作成しながら、日付とタイムスタンプ、セキュリティアクセスコントロールリスト(ACL)などの関連ファイル情報をすべて保持できます。 N個の小さなファイルディレクトリをコピーすると速度が一桁速くなりますが、3秒で何千ものファイルがコピーされますが、通常のコピー&ペーストでは約45秒かかります。
たとえば、CD-ROM内のすべてのファイルをEディスクの//CDディレクトリにコピーするには、次のコマンドを実行します。
Robocopy /s F://E://CD
Evenこの時点で、ディスクを突然取り出しても、robocopyはディスクがCD-ROMに再び挿入されるまで待機し、自動的にコピーを開始します。
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] ...] [オプション]
ソース:ソースディレクトリ(ドライブ:パス/////server //share //パス)
ターゲット:ターゲットディレクトリ(ドライブ://パスまたは////サーバー//共有//パス)
ファイル:コピーするファイル(名前/ワイルドカード:デフォルトは "*。*")
ファイルのコピー速度をテストするために、次のテストが行​​われます。上の図から、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//copy$i.log -TotalCount 10000)[ - 1]>>> log /answ.txt}
スクリプト出力の内容はフォーマットされ、CSV形式でExcelにインポートされ、折れ線グラフは次の図のようになります。「Series 1」;折れ線:

コピーのターゲットディレクトリに324個のファイルがあります。シングルファイルサイズは1MBから2MB、合計ファイルサイズは549MBで、サイズが878.16MB以上のシングルファイルに比べて、コピー時間が以前より長くなります。長く、ファイル数が多いため、1つずつコピーするのに長い時間がかかり、多くの実験でエラーが発生します正規化後、黄色の「Linear(Series 1)」の行が図に表示されます。図のように、異なるスレッドを使用すると、同じファイルグループのコピー速度が異なることがわかりますスレッドの数が増えると、コピー時間は直線的に減少します。
実際には、robocopyを使用する方法は多数ありますが、この記事の最後に添付のRoboCopyコマンドの詳細オプションを照会または表示するには、robocopy /?コマンドを使用してください。 。
Copyright © Windowsの知識 All Rights Reserved