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

前端之家收集整理的这篇文章主要介绍了linux – 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压缩.

猜你在找的Linux相关文章