2GBファイルをHDDからUSBフラッシュドライブにコピーすると、初期速度は約80 MB /秒で、その後着実に10 MB /秒以下に低下します。
なぜですか?私が見つけた答えはキャッシュに関連していると言いました。しかし、ファイルが一度だけコピーされた場合、キャッシュはファイルと何が関係していますか?キャッシュは何度もコピーされる情報に関するものだと思います。
違いがある場合は、Debian / GnomeでNautilusを使用しています。
編集 - いくつかのベンチマークを追加
2.4GBのmp4ファイルをコピーする前に、ファイルを読み込んでディスクキャッシュに入れるのにかかる時間を確認するために、チェックサムを繰り返し実行しました。
sha512sum file.mp4 (3x)
19s
8s
6s
sha256sum file.mp4 (3x)
10s
10s
10s
sha512sum file.mp4 (3x)
6s
6s
6s
ファイルがキャッシュされているようです。
次にUSBスティックにコピーしました。 Debian 10 のデフォルトインストールは非同期です。 1 分あたりのコピー数、残り時間、総速度は次のとおりです。
few sec 985 MB 13sec left 116 MB/s
1min 1.1 GB 1 min left 18.6 MB/s
2min 1.4 GB 1 min left 11.7 MB/s
3min 1.7 GB 1 min left 9.7 MB/s
4min 2.1 GB 35sec left 8.7 MB/s
4min45 "done"
eject
(it doesn't inform how long it will take)
+2min22 "ejecting" = ~7min total
2403758161÷427 = 5629410.2 = 5.63 MB/s = 5.37 MiB/s
その後、オプションを使用してUSBスティックをマウント-sync
し、毎分同じ情報を登録しました。
few sec 20min left 2 MB/s
30s 9 min left 3.9 MB/s
1min 272 MB 7 min left 4.5 MB/s
2min 500 MB 7 min left 4.2 MB/s
3min 744 MB 6 min left 4.1 MB/s
4min 1.1 GB 5 min left 4.4 MB/s
5min 1.4 GB 3 min left 4.6 MB/s
6min 1.7 GB 2 min left 4.6 MB/s
7min 2.0 GB 1 min left 4.6 MB/s
8min 2.3 GB 36sec left 4.7 MB/s
8m26s done
eject
instantaneous
2403758161÷506 = 4750510.2 = 4.75 MB/s = 4.53 MiB/s
結論として:
チェックサムは、ファイルをメモリにコピーする時間が総コピー時間よりはるかに短いことを示しています。したがって、これを総速度推定の一部として使用するのは間違っているようです。
同期レプリケーションは少し遅いように見えますが、少なくとも残りの時間を正確に渡します。
答え1
HDDはUSBスティックよりはるかに高速なので、HDDからファイルを読み取ると、他の作業のためにHDDを取得するためにキャッシュに移動します。その後、データはUSBドライブが処理できる速度でUSBドライブに転送されます。
キャッシュは複数回参照されるファイルに使用されますが、これが唯一の目的ではありません。この例のように、ある時点でファイルを初めて読み取る必要があります。すぐに同じファイルを再コピーすると、キャッシュはHDDの代わりにファイルを転送します。一定期間参照されなくなると、ファイルはキャッシュから消去され、キャッシュから新しいデータを処理できます。
答え2
データはキャッシュ/書き込みバッファに書き込まれ、これは非常に高速です。その後、セカンダリストレージデバイス(USB)にコピーされ、このプロセスは遅くなります。すぐにキャッシュ/書き込みバッファが不足し、この時点でキャッシュ/書き込みバッファへの書き込みがセカンダリストレージ(USB)への書き込み速度が遅くなります。
キャッシュなしでコピーできます。これの主な利点は、他の(おそらくより重要な)データがキャッシュから削除されないことです。