如何在命令行上使用7-zip 9.20启用多线程LZMA2?


13

如何在命令行上使用7-zip 9.20启用多线程LZMA2?我知道通常使用-t选项完成此操作,例如:“ -tzip”。

如何使用LZMA2做到这一点?我尝试了-tlzma和-tlzma2,但都没有用。我还尝试了一点都不传递-t,它只以“ lzma”模式运行单线程。

这是我当前拥有的命令,但是它很慢,并且是单线程的:

"C:\Program Files\7-Zip\7z.exe" a -r -tzip -y XMLBackup.zip *.xml

Answers:


11

尝试 -m0=lzma2

"C:\Program Files\7-Zip\7z.exe" a -m0=lzma2 -r -y XMLBackup.zip *.xml

更多信息


5
与-mmt = x结合使用对我有用。似乎如果未指定lzma2,则它将使用较旧的lzma压缩,因此不能使用多个线程。如果您同时指定两个选项,它将能够使用多线程。
Kibbee 2012年

5

帮助文件说它是mt = number_of_threads

我知道这是专门针对命令行的,但是在使用GUI时我可以说一件事,一旦切换到LMZA2,您就会获得所有选项。而且,它确实可以充分利用CPU的100%功率,而不是通常的25%,大大加快了压缩速度。



0

多线程模式在-m标志中给出,并且显然仅针对zip,7z,bzip2和xz实现。更具体地说,-mmt=<<# of threads>>。但是,根据文档,默认情况下启用它。有关更多信息,请参见7-zip随附的CHM手册。


我尝试过,没有发现任何明显的速度增加。我并不完全相信它可行。
djangofan

Windows在计算机中看到多少个物理核?您可以判断CPU使用率是否正在使用多线程。您可能已经看到了最佳速度,并且关闭多线程只会使其变得更慢。
Jessidhia '04

我已经想到了。我打开了7-zip(9.20版),然后查看了“检测到”的内核数。那是我使用的电话号码。
djangofan

0

我在带有2个CPU的Windows 2012服务器上尝试了一个简单的7z命令,没有多线程选项,并且两个cpu都在努力压缩我的大文件,因此我认为默认情况下多线程处于活动状态。


这被发布为答案,但它并未尝试回答该问题。它可能应该是编辑,评论,其他问题或完全删除。给定关于这个问题的答案,这更多是评论。
Cand3r
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.