Nem*_*emo 1 compression unix gzip tar 7-zip
简而言之:Deflate 压缩只能与-tzip7zip 中的 zip 格式 ( ) 一起使用吗?
我想将一个大目录(数百 GiB)从一个磁盘归档到另一个磁盘,同时保持 I/O 速度与不压缩相同或更好。
出于各种原因,我喜欢 7z 格式,但即使使用-mx=1. 我已经尝试过7z a -mm=Zip -mx=1 -mmt=4(并且-mm=GZip也使用了 Deflate),但是在文件扫描阶段后出现参数错误。
http://7zip.bugaco.com/7zip/MANUAL/switches/method.htm
我的典型解决方案是 tar with .tar.lzo(LZOP),在默认压缩率下轻松达到 100 MiB/s 单线程;或.tar.gz与GZIP=-1. 一个非常快的压缩器是具有多线程的 lbzip2,但它不能从 tar 本身运行。
我的源磁盘的读取速度通常为 20 MiB/s,有时为 100(文件有几个 MiB);目标以高达 80 MiB/s 的速度写入。所以这是压缩机应该具有的速度,理想情况下即使是单线程的。最多可使用 8 个内核和 16 GB RAM。
小智 5
您可以尝试7-Zip Zstandard版本。这个 fork 支持额外的编解码器,这些编解码器的压缩和解压缩速度非常快。
以下是所用编解码器的简短摘要:
LZ4 - 最快的压缩/解压,但压缩率不大
Lizard / LZ5 - 比 LZ4 更好的比率,并且通常比 LZ4 的解压速度更快……但压缩速度稍慢
Brotli 和 Zstandard - zstd 通常比 Brotli 快一点,但对于文本内容,Brotli 可能会好一点;)
所有 5 种编解码器都支持线程,目前最多 256 个线程。
像这样运行它:
7z a archiv.7z -m0=lz5 -mx1 -mmt=4
7z a archiv.7z -m0=zstd -mx1 -mmt=4
7z a archiv.7z -m0=brotli -mx1 -mmt=1 .. 7z a archiv.7z -m0=brotli -mx1 -mmt=256
等等...
| 归档时间: |
|
| 查看次数: |
6313 次 |
| 最近记录: |