How do I enable multi-threaded LZMA2 using 7-zip 9.20 on the command line?
Solution 1
Try -m0=lzma2
"C:\Program Files\7-Zip\7z.exe" a -m0=lzma2 -r -y XMLBackup.zip *.xml
Solution 2
The help file says it's mt=number_of_threads
I know this is specifically about the command line, but one thing I can say about when using the GUI, as soon as you switch to LMZA2 you got all the options. And it DOES speed up compression a great deal, utilizing the full 100% of your CPU's power rather than the usual 25%.
Solution 3
7z a -txz -mx=9 -mmt=on out.tar.xz in.tar
-txz
uses XZ (LZMA2)
-mx=9
sets the compression level (1 fastest / 9 best compression)
-mmt=on
LZMA2 only supports up to 2 threads (either -mmt=on
or -mmt=off
) but multithreading is on
by default
https://sevenzip.osdn.jp/chm/cmdline/switches/method.htm#XZ
Solution 4
The multithreading mode is given in a -m
flag, and it's apparently only implemented for zip, 7z, bzip2 and xz. More specifically, -mmt=<<# of threads>>
. However, according to the documentation, it is enabled by default. See the CHM manual included with 7-zip for more information.
Related videos on Youtube
Olivier.Roger
I always pay it forward. I ask questions so I can learn and I try to help others.
Updated on September 18, 2022Comments
-
Olivier.Roger over 1 year
How do I enable multi-threaded LZMA2 using 7-zip 9.20 on the command line? I know this is normally done with the -t option like so: "-tzip" .
How do I do this with LZMA2? I tried -tlzma and -tlzma2 and neither one works. I also tried not passing -t at all, and it just runs single threaded with "lzma" mode.
Here is the command I currently have, but it is slow, and single threaded:
"C:\Program Files\7-Zip\7z.exe" a -r -tzip -y XMLBackup.zip *.xml
-
Olivier.Roger about 12 yearsI tried it and didn't notice any apparent speed increase. I am not entirely convinced it works.
-
Jessidhia about 12 yearsHow many physical cores is windows seeing in your computer? You can tell whether multithreading is being used by CPU usage; it's possible that you're already seeing the best speed and turning multithreading off just makes it even slower.
-
Olivier.Roger about 12 yearsI already thought of that. I opened 7-zip (version 9.20) and I looked at what it "detected" as the number of cores. That is the number I used.
-
Kibbee over 11 yearsThis combined with -mmt=x did the trick for me. It seems that if lzma2 is not specified that it uses the older lzma compression and therefore can't use multiple threads. If you specify both options, it will be able to use multithreading.
-
Cand3r almost 8 yearsThis was posted as an answer, but it does not attempt to answer the question. It should possibly be an edit, a comment, another question, or deleted altogether. Given the answers on this question, this is more of a comment.
-
0xC0000022L over 3 yearsSomehow that statement about up to two threads doesn't really seem to concern
7z
or it's outdated information. At least in my case7z
was topping as many CPU cores as I told it to use threads when the machine was otherwise idle.