我正在使用Archive::Tar::Streamed来归档一个4GB的目录,其中包含非常小的源代码文件和一些JAR文件。我使用了一台带有4GB RAM的系统,并使用Archive::Tar::Streamed,因为我不希望我的整个目录都在内存中,这会导致内存不足的情况。我使用File::Find以DFS方式逐个读取目录中的文件,并使用Archive::Tar::Streamed中的add方法将其写入tar文件。在任何给定时间点,只有一个文件驻留在内存中,即使如此,我的perl进程的%MEM也逐渐增加。它已经增加到20%。我的目录中没有800MB大小的文件。我有两个问题:
1)为什么%MEM逐渐增加?
2)为什么它已经增加到20%?是因为Archive::Tar在将内容写入tar文件后没有释放内存吗?