Я использую Archive :: Tar :: Streamed для архивирования директории 4 ГБ, содержащей очень маленькие файлы исходного кода и несколько jar-файлов. Я использую систему с 4 ГБ ОЗУ и использую Archive :: Tar :: Streamed, потому что я не хочу, чтобы весь мой каталог находился в памяти, поскольку это приводит к нехватке памяти. Я читаю файлы по одному из каталога в DFS, используя File :: Find, и записываю их в tar-файл, используя метод add в Archive :: Tar :: Streamed. В любой момент времени в памяти находится только один файл, даже тогда% MEM моего процесса perl постепенно увеличивается. Дошло до 20%. В моем каталоге нет файла объемом 800 МБ. У меня есть два вопроса здесь
1) почему% MEM постепенно увеличивается?
2) Почему он вырос до 20%. Это потому, что Archive :: Tar не освобождает память после записи содержимого в файл tar?