如何在tar期间限制内存使用量

时间:2015-08-18 19:15:53

标签: linux tar

我需要tar(或以其他方式压缩)超过270万个文件。 (150GB)

然而,对于这么多文件,tar命令使用的内存太多而我的系统崩溃了。我该怎么办?

tar -cf /path/filename.tar /path_to_file/

基于文件创建日期和'find',我已经尝试分批(多个tar文件可以),但'find'会占用更多内存。

1 个答案:

答案 0 :(得分:1)

不确定这是否完全是答案,因为它没有说明如何明确降低tar的内存使用量,但是......

我认为你可以指定与tar一起使用的压缩程序来使用pigz(并行gzip),然后指定要用来更好地帮助管理内存的线程数。也许是这样的:

tar cvf - paths-to-archive | pigz -p 4 > archive.tar.gz

其中-p $ NUM是核心数。