すべてのファイルをmvに渡す方が良いですか、それとも複数のmvプロセスを並列に実行する方が良いですか?

すべてのファイルをmvに渡す方が良いですか、それとも複数のmvプロセスを並列に実行する方が良いですか?

私は3つのランニングスタイルを持っていますmv。最初:

mv /db/dbfile1 /db/dbfile2 /db/dbfile3  /usb_storage/

第二:

mv /db/dbfile1  /usb_storage/ &
mv /db/dbfile2  /usb_storage/ &
mv /db/dbfile3  /usb_storage/ &

3回目(私は最初に考えましたが、これも同じですか?)

mv /db/dbfile1  /usb_storage/ 
mv /db/dbfile2  /usb_storage/ 
mv /db/dbfile3  /usb_storage/ 

次のうちどれが良いですか?なぜ?

ベストアンサー1

ファイルを並列に移動する利点がある場合は、mv既にデフォルトで実行しているか、類似のツールが存在する可能性があります。 ;)

mvとにかく、通常はストレージメディアの速度によって制限されるため、同じソース/ターゲットディスクで並列に実行することは意味がありません。 USBスティックの場合、/usb_storage/スティックは速く実行されません。

mv /db/dbfile1 /db/dbfile2 /db/dbfile3 /usb_storage/

完了するまで目的を実行するので、最善のアプローチである必要があります(代替案をほぼ同じにするには、wait最後にaを追加する必要があります)。ファイルを並列ではなく逐次作成すると、不要なファイルの断片化を防ぐのにも役立ちます。

さらに/usb_storage/、ファイルサイズが移動しようとしているすべてのファイルを収容するのに十分な大きさでない場合、並行して作業すると、3つの不完全またはコピーがない代わりに、少なくとも1つの完全なファイルが生成されます。平行。

おすすめ記事