tarを高速化する方法、圧縮せずにパッケージのみをビルドする

tarを高速化する方法、圧縮せずにパッケージのみをビルドする

1,000,000個のファイルを含むLinuxシステムには、大きな2TBフォルダがあります。 tarを使ってパッケージを作成したいです。 tarファイルのサイズは気にしないので、データを圧縮する必要はありません。どのようにtarスピードアップできますか?パッケージの作成に1時間かかりましたtar -cf xxx.tar xxx/。私は強力な28コアCPUと500GBのRAMを持っています。tarマルチスレッドで実行する方法はありますか?

または、異なるフォルダ間、および異なるサーバー間で大容量の小さなファイルを転送する良い方法はありますか?私のファイルシステムはext4です。

ベストアンサー1

@Kusalanandaがコメントで述べたように、tarはディスクにバインドされています。あなたができる最良の方法の1つは、出力を別々のディスクに保存して書き込むため、読み込み速度が遅くならないようにすることです。

次の手順がネットワークを介してファイルを移動する場合は、まずネットワークを介してtarファイルを作成することをお勧めします。

$ tar -cf - xxx/ | ssh otherhost 'cat > xxx.tar'

このように、ローカルホストはファイルを読み取るだけで、tarが消費する書き込み帯域幅に対応する必要はありません。 tarのディスク出力はネットワーク接続とそのディスクシステムに吸収されますotherhost

おすすめ記事