注册 登录
  • 欢迎访问"运维那点事",推荐使用Google浏览器访问,可以扫码关注本站的"微信公众号"。
  • 如果您觉得本站对你有帮助,那么可以扫码捐助以帮助本站更好地发展。

Linux命令:pigz多线程压缩工具

系统管理 彭东稳 15595次浏览 已收录 1个评论

学习Linux系统时都会学习这么几个压缩工具:gzip、bzip2、zip、xz,以及相关的解压工具。关于这几个工具的使用和相互之间的压缩比以及压缩时间对比可以看:Linux中归档压缩工具学习

那么Pigz是什么呢?简单的说,就是支持并行压缩的gzip。Pigz默认用当前逻辑cpu个数来并发压缩,无法检测个数的话,则默认并发8个线程,也可以使用-p指定线程数。需要注意的是其CPU使用比较高。

官网:http://zlib.net/pigz

废话不多说,开始测试。

原目录大小

使用gzip压缩(1个线程)

解压gzip压缩文件

使用pigz压缩(4个线程)

解压pigz文件

可以看出pigz时间上比gzip快了三分之二还多,但CPU消耗则是gzip的好几倍,我这里只是4个线程的虚拟机,当然pigz的CPU使用率也是很可观的哦,基本100%了。所以在对压缩效率要求较高、但对短时间内CPU消耗较高不受影响的场景,使用pigz非常合适。

当然pigz也不是随着线程的增加速度就越快,也有一个瓶颈区域,网上有人对比了一下:并发8线程对比4线程提升41.2%,16线程对比8线程提升27.9%,32线程对比16线程提升3%。可以看出线程数越高速度提升就越慢了。更多的可以自己测试。


如果您觉得本站对你有帮助,那么可以支付宝扫码捐助以帮助本站更好地发展,在此谢过。
喜欢 (2)or分享 (0)
关于作者:

您必须 登录 才能发表评论!

(1)个小伙伴在吐槽