我需要压缩(或以其他方式压缩)超过 270 万个文件。 (150GB)
但是,对于这么多文件,tar 命令使用了太多内存,导致我的系统崩溃。我能做什么?
tar -cf /path/filename.tar /path_to_file/
我尝试根据文件创建日期和 find
批量执行此操作(多个 tar 文件即可),但 find
占用更多内存。
最佳答案
不确定这是否是一个准确的答案,因为它没有说明如何显式降低 tar 的内存使用量,但是...
我认为您可以指定与 tar 一起使用的压缩程序使用 pigz
(并行 gzip
),然后指定要使用的线程数以更好地帮助管理内存。也许是这样的:
tar cvf - paths-to-archive | pigz -p 4 > archive.tar.gz
其中 -p $NUM
是核心数量。
关于linux - 如何限制 tar 期间的内存使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32080860/