ファイルのコピーが遅いのはなぜですか?


10

同じディレクトリにフォルダ(約1GB)を複製しようとしていますが、コピー速度が非常に遅い(約600kbpsになる)のです。

それよりも大きなファイルをインターネットからダウンロードできます(2/3 MBps)。

何かご意見は?

ここに画像の説明を入力してください

注:私はWindows 7 Professionalを使用しています。


2
複数のサイトに同じ質問をクロス投稿しないでください。
Daniel Beck


@Mahes:ファイルを同じフォルダに複製していますか?または同じ親の下にある別の名前のフォルダ?フォルダ内のファイル名はかなり似ていますか?
akira

@akira:同じフォルダと別のドライブにもコピーしてみましたが、速度はほぼ同じです(〜600KB / S)
Mahes

@Mahes:私の質問の3分の1だけが回答されました:)
akira

回答:


16

これは正常な状態であり、同じ物理ディスクに対して読み取りと書き込みを行っているため、1つのディレクトリに多数のファイルがある場合はさらに悪化する可能性があります。


2
彼が本当にたくさんの小さなファイルを持っていない限り、それは決して普通ではありません。XP(シングルディスク、十分なRAM)で600 MB(3000ファイル)を1分未満でコピーしました。これにより、10 MB /秒、つまり15倍高速になります。
maaartinus、2011年

4
600MB x 3000ファイルは、1.1GB x 22,231ファイルとは大きく異なります。また、彼が残したディスク容量やディスクの断片化の程度もわかりません。私は以前、これをうまく実行していないディスクを持っていました。
Otavio Decio

1
もちろん、違います。しかし、彼のファイルは約(600/3000)/(1100/22231)= 4倍小さいため、MBあたりの速度は15分の1にすべきではありません。しかし、はい、断片化が理由であり、実際にこの質問に対する答えである可能性があります。そして、いいえ、それは本当に正常ではありません、彼はデフラグを検討する必要があります。
maaartinus、2011年

3
@maaartinus:マスターファイルテーブルを忘れないでください。マスターファイルテーブルは、すべてのファイルについて更新する必要があります。3000の場合はそれができませんことを目立つが、22,000のために、それは非常によくかもしれません。また、単純にOPよりも高速なハードドライブを使用できるため、詳細を確認しないと直接比較することはあまり信頼できません。
サーシャチェディゴフ2011年

12

小さなファイルはパフォーマンスを低下させます。ダウンロードする大きなファイルは、単一のファイルテーブルエントリのみを必要とし、書き込まれるだけです。しかし、20.000ファイルをコピーしています。読み取りと書き込みの他に、20.000ファイルテーブルエントリを変更する必要もあります。また、コメントされているように、空き領域テーブルやディスクの断片化も影響します。あなたのコピーダイアログは私には完全に正常に見えます、それが長時間の時間について言及していると心配です...


5

OSが ' CreateFile() ' を呼び出さなければならない場合、多くのことは少し流血になり、時には厄介になる可能性があります。いずれの場合も、「長い名前を短くする」とはパフォーマンスに悪影響を与えるため、8.3ファイル名の作成無効にしてください。8.3に切り捨てられたときにかなりかなり類似している類似した名前のファイルがたくさんある場合は、8.3アルゴリズムを非常に頻繁にトリガーします。

  1. 長いバージョンを取得して、8.3文字に切り捨てます
  2. その名前を持つ他のファイルはすでにありますか?
    1. 違う?涼しい。MFTに属性として挿入する
    2. はい?くそー、それを7文字に短くして、数字を追加します。もう一度確認してください2。

そのループが頻繁に繰り返される場合(制限はありますが、入ってくる新しいファイル名ごとに数回実行されます)、大量の新しいファイルを移動/作成するときに、速度が本当に悪いことに気づくでしょう。

詳細については、http://msdn.microsoft.com/en-us/library/aa365247(v = vs.85).aspx#short_vs._long_namesをご覧ください。

それとは別に(他の回答がすでに言ったように):エクスプローラーは、アイコンを作成し、その新しいディレクトリのファイルに関する情報を保持するという意味で多くの役割を果たします。


4
  1. (スタート)メニューまたはボタンから[マイコンピュータ]または[コンピュータ]を開きます。
  2. リストから外付けハードディスクドライブを右クリックし、「プロパティ」を選択します
  3. 「ハードウェア」タブをクリックします。
  4. ドライブリストから問題のあるドライブをハイライトし、[プロパティ]をクリックします。
  5. 「ポリシー」タブをクリックします。
  6. 「迅速な削除のために最適化」と「パフォーマンスを最適化する」の2つのラジオボタンが表示されます。
  7. 選択されていない場合は、「パフォーマンスの最適化」を選択して「OK」をクリックします(external.hardドライブドライブ)VistaまたはWindows 7を実行している場合は、「ディスクの書き込みキャッシュを有効にする」(内蔵ハードドライブ)もチェックします。
  8. [OK]をクリックして終了します。両方のハードドライブで完了していることを確認してください

Windows 10でこれを行う方法
Janus Troelsen 2017
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.