如何最大限度地缩短解压缩时间在Unix中压缩文件?

时间:2013-10-09 17:42:27

标签: performance unix gzip filesize zcat

我必须解压缩然后(处理后)再次压缩(存档)源文件。文件大小通常大约为 200-250 GB (解压缩,.dat格式)(共96个文件)。 解压缩过程需要大约2个小时,并且拉链过程需要1:30到2个小时,这是无法承受的。 目前我正在使用“ zcat ”命令进行解压缩,使用“ gzip -3 ”来压缩文件。 磁盘空间不是问题,因为我们有1.5太字节的安装。 请你建议一些更有效的模式来完成这个过程 ..

期待您的建议,谢谢 - 普什卡。

2 个答案:

答案 0 :(得分:4)

如果磁盘空间不是问题,那么就不要压缩。然后你永远不需要解压缩。

如果您有多个核心,可以尝试pigz来加快速度。它是gzip的并行实现,它将特别加快压缩速度。

我不明白为什么你的减压比压缩慢得多。它应该快三到十倍。你能提供你正在做的事情的实际代码吗?那里肯定有问题。

顺便说一下,你的术语不正确。压缩和解压缩是指.zip格式,而不是.gz格式。您只需要压缩和解压缩gzip格式即可。

答案 1 :(得分:0)

解压缩时,请尝试使用静默模式-q。如果存档中的文件太多,这将减少很多时间,因为解压缩会将名称写入stdout。

man unzip

   -q     perform  operations  quietly  (-qq  = even quieter).  Ordinarily
          unzip prints the names of the files it's extracting or  testing,
          the extraction methods, any file or zipfile comments that may be
          stored in the archive, and possibly a summary when finished with
          each  archive.   The -q[q] options suppress the printing of some
          or all of these messages.