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

最佳答案

在5.2版in December 2014中的xz中添加了多处理器(多线程)压缩支持。
要启用该功能,请添加-T选项,以及要生成的工作线程数,或要生成的-T0与操作系统报告的CPU一样多的CPU:

xz -T0 big.tar
xz -T4 bigish.tar
默认的单线程操作等效于-T1
我发现以比我的CPU上的超线程总数少的几个超线程来运行它可以很好地平衡响应速度和压缩速度。
†在我的6核心12线程工作站上使用-T10
正如scaiDzenly在评论中所说

关于xz - 对 `xz`的多处理器支持?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22244962/

10-09 19:41