12

Как включить многопоточный LZMA2, используя 7-zip 9.20 в командной строке? Я знаю, что это обычно делается с опцией -t, например: "-tzip".

Как мне сделать это с LZMA2? Я пробовал -tlzma и -tlzma2, и ни один не работает. Я также пытался вообще не передавать -t, и он просто запускает однопоточный режим "lzma".

Вот команда, которая у меня сейчас есть, но она медленная и однопоточная:

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

5 ответов5

10

Попробуйте -m0=lzma2

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

больше информации

4

Файл справки говорит, что это mt = number_of_threads

Я знаю, что речь идет именно о командной строке, но я могу сказать одну вещь при использовании графического интерфейса, как только вы переключаетесь на LMZA2, вы получаете все опции. И это значительно ускоряет сжатие, используя все 100% мощности вашего процессора, а не обычные 25%.

1
7z a -txz -mx=9 -mmt=on out.tar.xz in.tar

-txz использует XZ (LZMA2)

-mx=9 устанавливает уровень сжатия (1 самое быстрое / 9 лучших сжатие)

-mmt=on LZMA2 поддерживает только до 2 -х нитей (либо -mmt=on или -mmt=off , но многопоточность on умолчанию

https://sevenzip.osdn.jp/chm/cmdline/switches/method.htm#XZ

0

Я попробовал простую команду 7z без параметров многопоточности на сервере Windows 2012 с 2 процессорами, и оба процессора усердно работают, чтобы сжать мой большой файл, поэтому я думаю, что многопоточность активна по умолчанию.

0

Режим многопоточности указан в флаге -m и, по-видимому, реализован только для zip, 7z, bzip2 и xz. В частности, -mmt=<<# of threads>> . Однако, согласно документации, он включен по умолчанию. См. Руководство по CHM, прилагаемое к 7-zip для получения дополнительной информации.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .