有没有办法将xz
压缩工作分散到多个 CPU 上?我意识到这本身似乎是不可能的xz
,但是是否有其他实用程序可以实现相同的压缩算法来提高处理器的利用率?我将在具有 16 个以上处理器的系统上的脚本和实用程序应用程序中运行它,并且至少使用 4-8 个处理器来潜在地加快压缩率会很有用。
问问题
16872 次
1 回答
54
2014 年 12 月xz
在 5.2 版中添加了多处理器(多线程)压缩支持。
要启用该功能,请添加该-T
选项以及要生成的工作线程数,或-T0
生成与操作系统报告一样多的 CPU:
xz -T0 big.tar
xz -T4 bigish.tar
默认的单线程操作相当于-T1
.
我发现使用比我的 CPU 上的超线程总数少的几个超线程运行它†提供了响应性和压缩速度的良好平衡。
† 所以-T10
在我的 6 核 12 线程工作站上。
如果您想将它与之前的
tar
调用结合使用export XZ_DEFAULTS="-T 0"
。或使用 smth 之类的:
XZ_OPT="-2 -T0"
于 2015-10-30T17:35:21.790 回答