gzip 是单线程压缩的,pigz 支持并行 gzip 。简单说就是多线程的 gzip ,pigz CPU 占用比较高,可以根据需要指定逻辑处理器数量。
1 安装
centos & Redhat 系统安装 pigz
$ yum install pigz
ubuntu & debian 系统安装 pigz
$ apt install pigz
2 使用
压缩
$ tar -cvf - test/ | pigz -p 16 > test.tar.gz
说明:
- 使用标准输入/输出
-p 指定逻辑处理器数量,这里指定 16,默认是 8,可以根据实际情况改变
解压
$ tar -I pigz -xvf test.tar.gz -C ./
说明:
-I 在本地文件系统中创建存档
-C 指定解压后文件存放的路径
3 扩展
查看系统逻辑处理器数量
$ cat /proc/cpuinfo | grep "processor" | wc -l
查看物理 CPU 个数
$ cat /proc/cpuinfo | grep "physical id" | sort | uniq | wc -l
查看每个物理 CPU 的核心数
$ cat /proc/cpuinfo | grep "cpu cores" | uniq