37

有没有办法将xz压缩工作分散到多个 CPU 上?我意识到这本身似乎是不可能的xz,但是是否有其他实用程序可以实现相同的压缩算法来提高处理器的利用率?我将在具有 16 个以上处理器的系统上的脚本和实用程序应用程序中运行它,并且至少使用 4-8 个处理器来潜在地加快压缩率会很有用。

4

1 回答 1

54

2014 年 12 月xz在 5.2 版中添加了多处理器(多线程)压缩支持。

要启用该功能,请添加该-T选项以及要生成的工作线程数,或-T0生成与操作系统报告一样多的 CPU:

xz -T0 big.tar
xz -T4 bigish.tar

默认的单线程操作相当于-T1.

我发现使用比我的 CPU 上的超线程总数少的几个超线程运行它提供了响应性和压缩速度的良好平衡。

† 所以-T10在我的 6 核 12 线程工作站上。

正如scaiDzenly在评论中所说

如果您想将它与之前的tar调用结合使用export XZ_DEFAULTS="-T 0"

或使用 smth 之类的:XZ_OPT="-2 -T0"

于 2015-10-30T17:35:21.790 回答