cp folder1 folder2 -rf
初めて実行すると、約10分かかります。しかし、2番目のコマンドを実行すると、cp folder1 folder3 -rf
約1分かかります。folder1
約 100,000 個のファイルが含まれています。
2 回目の実行時間の改善があるのはなぜですか?
これは、ページのキャッシュが原因です。実行sync ; echo 3 > /proc/sys/vm/drop_caches
して再び遅くします。
参考文献:
ファイルがハード ドライブから初めて読み取られるとき。
ファイルがメモリから読み取られる 2 回目。
Linux は、ほとんどのオペレーティング システムと同様に、アクセスされたファイル/ブロックをメモリにキャッシュします。
これは、ファイルが現在メモリ キャッシュに格納されているためです。このコマンドが初めて実行されたとき、ディスクからファイルを読み取る必要があり、これは非常に低速です。これは、ディスク アクセスを使用する任意の形式のベンチマークを実行する場合にも覚えておくことが重要です。たとえば、実際のベンチマークを実行する前に「cat MYFILE >/dev/null」を追加して、一貫した結果を取得します。