7-Zip最小体积压缩需组合Ultra等级、LZMA2算法及大字典等参数:一、-mx=9 -md=128m;二、-md=512m -mpb=2 -mmf=bt4;
三、-md=1g -mcu=100000000;
四、加-xc:BCJ2处理可执行文件;
五、-mmt=off微降体积。
如果您希望使用7-Zip将文件压缩到尽可能小的体积,需调整其命令行参数以启用最高级别压缩、最优算法及字典大小。
以下是实现最小体积压缩的多种参数组合方案:
该方案启用7-Zip内置的最高压缩等级(-mx=9),并强制使用LZMA2压缩引擎与最大字典尺寸,适用于大多数通用文件类型。
1、打开命令提示符或PowerShell,进入待压缩文件所在目录。
2、输入以下完整命令:7z a -t7z -mx=9 -mmt=on -md=128m -mfb=273 -ms=on archive.7z input_file_or_folder
3、按回车执行,等待压缩完成。
此方案调用预设的Ultra压缩配置,并手动扩大字典至512MB,显著提升重复数据密集型文件(如日志、文本、数据库备份)的压缩率。
1、确保7-Zip版本为21.07或更高,以支持大于256MB的字典设置。
2、运行命令:7z a -t7z -mmt=on -mx=9 -md=512m -mfb=273 -ms=on -mpb=2 -mmf=bt4 archive.7z input_file_or_folder
3、注意:-mpb=2启用概率模型增强,-mmf=bt4启用四叉树匹配查找器,二者协同优化长距离重复匹配。
该方案牺牲压缩速度与内存占用,启用超大窗口与深度分析,适合单次归档且不介意数小时压缩耗时的场景。
1、确认系统可用RAM不少于6GB,否则可能触发内存交换导致崩溃。
2、执行命令:7z a -t7z -mx=9 -mmt=on -md=1g -mfb=273 -ms=on -mpb=2 -mmf=bt4 -mcu=100000000 archive.7z input_file_or_folder
3、其中-mcu=100000000将压缩器缓存上限设为1亿字节,允许更充分的上下文建模。
当压缩包含大量PE/ELF格式可执行文件时,BCJ2过滤器可将指令地址转换为相对偏移,大幅提升LZMA2对跳转指令的压缩效率。
1、在命令中加入-xc:BCJ2开关以启用x86/x64联合过滤。
2、运行命令:7z a -t7z -mx=9 -mmt=on -md=256m -mfb=273 -ms=on -xc:BCJ2 archive.7z input_file_or_folder
3、注意:BCJ2仅对二进制可执行体有效,对纯文本或媒体文件无效,误用可能略微降低压缩率。
在极少数情况下,关闭多线程(-mmt=off)可避免分块边界造成的熵损失,使整体压缩流更连贯,尤其利于小文件集合并压缩。
1、取消多线程并保持其余Ultra参数不变。
2、执行命令:7z a -t7z -mx=9 -mmt=off -md=256m -mfb=273 -ms=on archive.7z input_file_or_folder
3、该方式压缩时间延长约30%–50%,但实测对100MB以上混合文件包可额外节省0.1%–0.3%体积。