一、概述
pigz(parallel implementation of gzip)是一個并行執行的壓縮工具,解壓縮比gzip快,同時CPU消耗是gzip的好幾倍,在對短時間内CPU消耗較高不受影響的場景下,可以使用pigz。
二、安裝
環境說明
作業系統:centos 7.6
配置:4核8g
安裝
先安裝epel擴充源,再安裝pigz
yum install -y epel-release
yum makecache
yum -y install pigz
如何壓縮檔案
下面幾個是常用參數:
-p n: 壓縮時使用的核心數量,預設使用所有核心
-k: 壓縮後保留源檔案
-l: 列出壓縮輸入的内容。
-6: 預設的壓縮級别
-9: 壓縮率最高,但是速度慢
-1: 壓縮率最低,速度最快
例如:壓縮FreeNAS-11.2-U7.iso檔案,如果需要保留源檔案,可以添加-k參數:
pigz -k FreeNAS-11.2-U7.iso
可以使用-l選項檢視壓縮後檔案的壓縮率:
pigz -l FreeNAS-11.2-U7.iso.gz
如何壓縮目錄
Pigz沒有壓縮檔案夾的選項,隻可以壓縮單個檔案。pigz可以和tar指令一起使用,來壓縮檔案夾。
tar -cf - /var/log | pigz -k > logs.tar.gz
檢視一下壓縮資訊:
pigz -l logs.tar.gz
如何解壓檔案
解壓單個檔案,解壓方式:
unpigz -d FreeNAS-11.2-U7.iso.gz
如果需要保留源壓縮檔案,請添加-k參數
pigz -k -d FreeNAS-11.2-U7.iso.gz
解壓一個目錄,解壓方式:
tar -xf logs.tar.gz
總結
pigz是一個并行執行的壓縮工具,解壓縮比gzip快,同時CPU消耗是gzip的好幾倍,在對短時間内CPU消耗較高不受影響的場景下,可以使用pigz。
三、壓縮速度對比
我的/opt目錄有15g,下面來測試tar和pigz,對/opt進行壓縮。
tar壓縮
time tar -cf - /opt | pigz -k > opt1.tar.gz
執行輸出:
real 7m53.205s
user 6m42.194s
sys 0m32.886s
花費了7分53秒
pigz壓縮
time tar -cf - /opt | pigz -k > opt2.tar.gz
輸出:
real 4m35.899s
user 6m27.790s
sys 0m31.144s
花費了4分35秒
從結果上來對比,pigz顯然更快,換算一下,大概快了41.8%
本文參考連結:
https://www.linuxprobe.com/linux-pigz-compress.html