加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

linux – tar | gpg | bzip2比单独执行每一步使用更多内存?

发布时间:2020-12-13 17:15:01 所属栏目:Linux 来源:网络整理
导读:我有一堆文件,我经常需要tar,用gpg加密,然后压缩.这是在Linus VPS服务器上,因此内存比执行速度更重要(我真的不关心). 如果我执行这三个步骤作为一个命令(tar | gpg | bzip2 output.tar.gpg.bzip2)会比我第一次调用tar消耗更多内存,那么调用gpg,然后调用bzip2
我有一堆文件,我经常需要tar,用gpg加密,然后压缩.这是在Linus VPS服务器上,因此内存比执行速度更重要(我真的不关心).

如果我执行这三个步骤作为一个命令(tar | gpg | bzip2> output.tar.gpg.bzip2)会比我第一次调用tar消耗更多内存,那么调用gpg,然后调用bzip2?

这些文件可能非常大(数百兆字节/千兆字节)

解决方法

同时运行的程序越多,所需的内存就越多.但这是一种权衡,使用管道而不是单独运行每个程序往往需要更少的磁盘空间.您只需要存储初始输入和最终输出.如果您通过ssh或类似的东西进行管道传输以将数据存储在其他地方,则甚至可能不需要输入文件之外的初始磁盘空间.使用管道的另一个特性是数据在任何阶段都不会比管道中最慢的阶段更快地处理.

GnuPG使用的OpenPGP格式本身支持压缩.这在加密之前发生,因此它比加密后压缩更安全,效率更高.此外,它将在解密时自动检测,因此您不必担心将其添加到管道中.它可能比运行单独的压缩程序需要更少的内存. GnuPG支持Zip,Zlib(Gzip)和Bzip2压缩.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读