我发现自己不得不压缩许多非常大的文件(80-ish GB),而且我对我的系统表现出的(缺乏)速度感到惊讶。我得到大约 500 MB/分钟的转换速度;using top
,我似乎以大约 100% 的速度使用单个 CPU。
我很确定这不是(只是)磁盘访问速度,因为创建一个tar
文件(这就是创建 80G 文件的方式)只花了几分钟(可能是 5 或 10 分钟),但是 2 个多小时后,我的简单 gzip 命令仍然存在尚未完成。
总之:
tar -cvf myStuff.tar myDir/*
Run Code Online (Sandbox Code Playgroud)
创建一个 87 G 的 tar 文件花费了 <5 分钟
gzip myStuff.tar
Run Code Online (Sandbox Code Playgroud)
花了 2 小时 10 分钟,创建了一个 55G 的 zip 文件。
我的问题:这正常吗?是否有某些选项gzip
可以加快速度?连接命令并使用会更快tar -cvfz
吗?我看到参考pigz
- GZip 的并行实现- 但不幸的是我无法在我使用的机器上安装软件,所以这不是我的选择。例如,参见这个较早的问题。
我打算自己尝试其中的一些选项并计时 - 但我很可能不会点击选项的“神奇组合”。我希望这个网站上的某个人知道加快速度的正确技巧。
当我有其他试验的结果可用时,我会更新这个问题 - 但如果有人有特别好的技巧可用,我会非常感激。也许 gzip 只需要比我意识到的更多的处理时间......
更新
正如承诺的那样,我尝试了以下建议的技巧:更改压缩量,并更改文件的目的地。对于大约 4.1GB 的 tar,我得到了以下结果:
flag user system size sameDisk
-1 189.77s …
Run Code Online (Sandbox Code Playgroud)