Performance

從目錄樹中執行 tar.gz 的最快方法?

  • August 27, 2019

我有一個目錄樹,其中包含如下文件:

.
|-- 00
| |-- 00
| | |-- 00
| | |-- 01
| | |-- 02
| | |-- 03
| | |-- 04
| | |-- 05
[..]
| | |-- 97
| | |-- 98
| | `-- 99
| |-- 01
| | |-- 00
| | |-- 01
[...]

每個目錄的末尾大約有200個文件,所以文件很多。製作整個 tar.gz 的最快方法是什麼?我可以為多個 CPU 並行化任務嗎?

在分機上

$$ 234 $$文件系統,我發現dump它比 tar 快得多,尤其是對於許多小文件,比如 Maildir。它還使用多個核心進行並發壓縮。我建議將 -b 1024 用於 1mb 塊大小,這比預設的 10kb 塊大小要好得多。

您只需要指定一個(或多個)要包含的頂級目錄,並且tar將遞歸地深入到它的所有子目錄中並將所有內容包裝起來:

tar cvfz output.tar.gz /path/to/top_folder

(正如@forcefsck 所指出的,如果對像是原始速度,您可以取消在v終端上減少冗長的選項。通過不回顯它添加的每個文件,如果 I/O 時間與您的終端交談,您可以節省一點。)

引用自:https://unix.stackexchange.com/questions/15725