bzip pbzip2壓縮工具比較

2021-09-17 22:00:18 字數 2170 閱讀 1972

個人github中會有更多新鮮剛出爐的文章。

linux版本:debian8.5

pbzip2安裝:apt-get install pbzip2

pbzip2詳情請見:pbzip2的安裝與使用

bzip2(單執行緒壓縮工具)

# 壓縮單個檔案測試

# 單個檔案大小

root@wing:/data # du -h 2016.sql

3.4g 2016.sql

# tar bzip2 壓縮命令

time tar -jcf 2016.sql.bz2 2016.sql

# 單個檔案壓縮時間

real 10m7.996s

user 10m4.632s

sys 0m13.276s

# 壓縮後檔案大小

root@wing:/data # du -sh 2016.sql.bz2

220m 2016.sql.bz2

# 壓縮目錄測試

# 目錄檔案大小

root@wing:/data # du -sh 20161122/

6.9g 20161122/

# tar bzip 只能使用乙個核進行壓縮

time tar -jcvf 20161122_bzip.bz2 20161122/*

# 目錄壓縮時間

real 24m30.013s

user 22m51.936s

sys 0m23.872s

# 壓縮後檔案大小

root@wing:/data # du -h 20161122.bz2

356m 20161122.bz2

pbzip2(多執行緒壓縮工具)
# 壓縮單個檔案測試

# 單個檔案大小

root@wing:/data # du -h 2016.sql

3.4g 2016.sql

# pbzip2壓縮命令

time pbzip2 -p3 -k 2016.sql

# 單個檔案壓縮時間

real 3m22.909s

user 9m55.092s

sys 0m16.284s

# 壓縮後檔案大小

root@wing:/data # du -sh 2016.pbzip.bz2

221m 2016.pbzip.bz2

# 壓縮目錄測試

# 目錄檔案大小

root@wing:/data # du -sh 20161122/

6.9g 20161122/

# tar bzip pbzip 使用3個核進行壓縮

time tar -c 20161122 | pbzip2 -p3 -c > 20161122.tar.bz2

# 目錄壓縮時間

real 7m31.688s

user 22m5.736s

sys 0m42.520s

# 壓縮後檔案大小

root@wing:/data # du -h 20161122.tar.bz2

358m 20161122.tar.bz2

總結:

bzip

pbzip(3個執行緒)

原檔案大小

3.4g

3.4g

檔案壓縮時間( real)

10m7.996s

3m22.909s

檔案壓縮大小

220m

221m

原目錄大小

6.9g

6.9g

目錄壓縮時間(real)

24m30.013s

7m31.688s

目錄壓縮大小

356m

358m

注意:壓縮時間使用real計算,而不使用user+sys計算的原因是,多執行緒下user的時間是每個執行緒時間之和,與我們可以感知到的時間偏差較大,所以選擇real,該伺服器上都是初始化的job,所以real更接近使用者感知的時間。

從上面**可以得出,pbzip2開啟3個執行緒壓縮的前提下,無論是壓縮單個檔案還是壓縮目錄,時間上比單執行緒bzip2壓縮快了接近3倍,而壓縮比也基本相同。

zip壓縮工具

yum install y zip yum install y unzip命令語法 zip 選項 引數 命令描述 zip命令可以用來解壓縮檔案,或者對檔案進行打包操作,它可以壓縮目錄或檔案,壓縮目錄時,需要指定目錄下的檔案。zip是個使用廣泛的壓縮程式,檔案經它壓縮後會另外產生具有 zip 副檔名的...

打包壓縮工具

1 建立歸檔,保留許可權 tar cpvf path file.tar file.root centos7 test tar cvfp f.tar f f1.txt 對多個檔案進行打包 f2.txt f3.txt 壓縮工具僅能支援單個檔案壓縮,因此配合打包工具實現打包壓縮 2 追加檔案至歸檔 不支援...

Linux壓縮工具

gzip,gunzip,zcat compress or expand files gzip option filenames d 解壓縮,相當於gunzip 指定壓縮比 1 9 預設為6,數字越大壓縮比越大,消耗的cpu越多,壓縮後的空間越小 c 壓縮後標準輸出,且保留原始檔 所以要跟 重定向輸出...