如何使 7-Zip 更快

Kef*_*fka 41 compression zip speed winrar 7-zip

我通常在 7-Zip 上使用 WinRAR,因为它更快,而且压缩效率低一点。我对不同的文件类型和大小进行了一些测试,比较了 7-Zip 和 WinRAR 的正常压缩和最佳压缩的默认设置,在很多情况下,WinRAR 快了 50%,在某些情况下,它实际上快了 100%。但是,我更喜欢 FOSS。所以这里是我的问题:

  1. 有没有办法让 7-Zip 加速?我希望它至少与 WinRAR 的速度相当
  2. 有没有办法像在 WinRAR 中那样在 7-Zip 中制作恢复段?我没有看到任何东西,但我想这可能是命令行问题。
  3. 我使用最新的稳定版本(4-dot-something with 7-Zip)测试了 WinRAR 和 7-Zip。9.x 测试版的压缩速度明显更快吗?

我说的是在 WinRAR 中的类似设置下更快,而不仅仅是降低到最低限度的压缩。

如果重要的话,我使用带有 4 GB DDR3 RAM 的四核 Intel i7 720 (1.6 GHz)/(2.8 GHz) 和 64 位版本的 7-Zip,以及双启动 Debian x64 5.0.4 和 Windows 7家。

Mok*_*bai 39

如果您获得7-Zip 9.13 测试版,您可以将存档类型更改为 LZMA2,从而能够使用任意数量的线程,尽管内存使用量会显着增加。

安装测试版,右键单击要存档的内容,然后在 7-Zip 内容菜单下单击“添加到存档...”,您将获得类似于下面窗口的内容。在 Compression Method 下的左侧,您应该找到“LZMA2”,这将允许您更改线程数,这将是一个更进一步的选项。

这有可能极大地提高 2 个以上核心处理器的性能,因为它可以更好地适应您的系统,而正常的压缩方法最多只能处理 2 个线程。

您在图像中线程数选择框右侧看到的“/1”是系统中的处理器数,因此是推荐的线程数。我的 i7 是一个四核处理器,但有超线程(顺便说一句,这确实有帮助)所以它显示为“/8”

替代文字

  • 启用 LZMA2 的命令行参数是什么? (5认同)
  • @Mokubai 9.20 正式版。而且图形用户界面没有任何问题,它仍然在设置面板中显示8/8核参数,但在处理时实际上只使用<20% cpu。我在 SU 中针对这个问题进行了快速研究,但还没有弄清楚造成这种奇怪现象的原因。只要知道,如果我使用带有 -m0=lzma2 -mmt=8 之类的参数的命令行 7z,那么压缩将使用 ~100% CPU,但是一旦我切换到 GUI,它就会返回到单线程模式或类似的模式......以非常低效的方式 (<20%) 使用 CPU。 (2认同)

小智 37

由于每个线程似乎同时压缩多个文件,因此提高超大 zip 作业性能的最佳方法是将线程设置为 1,以确保您的硬盘驱动器一次查找一个文件。

我们通过添加-mmt=off到 7-zip 命令行来提高我们所有日常 zip 备份程序的性能。我们备份由多个小文件组成的“可视化 SVN 存储库”需要 50 到 60 分钟。

有了-mmt=off,我们现在总是在不到五分钟的时间内完成!而且,在这 50 分钟内,我们所有的服务器都因为硬盘驱动器而变得非常慢。现在,在这五分钟内,一切都保持得非常快。

对于您在机器上所做的一切,硬盘驱动器的活动总是比您的 CPU 容量慢。您可以通过禁用并行活动并确保硬盘驱动器逐个串行读取(和写入)您的文件来提高磁盘性能。

此外,最好从 disk1 读取并将 ZIP 写入 disk2,因为物理头不会从读取移动到写入。

在保持机器性能的同时获得最大 ZIP 速度的采样线:

start "" /wait /belownormal c:\Progra~1\7-Zip\7z.exe a -tzip -mx=1 -mmt=off t:\backup.zip d:\folderToBackup\*
Run Code Online (Sandbox Code Playgroud)

D:并且T:是 2 个不同的物理磁盘

  • 这个答案非常特定于老化技术。使用 SSD 尝试此操作可能没有用,因为寻道时间要低得多。随机 IOPS 不太可能成为瓶颈。您的情况非常特别,因为您执行的压缩很少。基本上你正在做一个文件复制。所以是的,对旋转 HD 的顺序访问显然是赢家。典型的 7zip 用例可能受 CPU 限制,而不是 IO 限制。为此,使用所有 CPU 内核至关重要。但是对于那些处于类似情况的人,您的建议非常有价值。 (15认同)
  • 令人惊讶的是,这与建议的答案完全相反,但实际上是正确的。我刚刚通过更改为使用单线程将存档操作从 12 小时缩短到 2 小时。 (6认同)
  • 真的。这对我也有用。可能这是有道理的,因为他使用的是`-mx=1`(几乎没有压缩)。如果您不压缩,则大部分工作由 HDD 完成。如果你设置`-mx=9`,处理器真的需要工作来压缩文件。我需要尝试一下,但取决于瓶颈是什么(HDD 或 CPU),它可能会更好或更糟。 (3认同)