下载具有多个进程的多个文件时,Gsutil会占用大量内存

时间:2019-06-27 19:50:08

标签: google-cloud-storage gsutil

我需要使用gsutil下载多个文件,并且我注意到gsutil在下载多个文件时会占用大量内存。 (下载三个每个都有9个进程的2G文件时,大约需要1-2 GB内存)。有没有办法调整gsutil的内存使用情况?这对我来说很重要,因为我在GKE中运行gsutil,如果使用过多的内存(超过限制),容器将被杀死

另一个问题:gsutil似乎无法在单个命令中下载具有相同名称的文件(一个将覆盖另一个?)。所以我没有使用-m选项。相反,我使用一个gsutil命令下载每个文件: gsutil -o“ GSUtil:parallel_thread_count = 1” -o“ GSUtil:sliced_object_download_component_size = 250M” -o“ GSUtil:sliced_object_download_max_components = 9” -o“ GSUtil:parallel_process_count = 9” cp存储桶/文件desFile

1 个答案:

答案 0 :(得分:0)

我确实测试过下载2GB文件,并更改-o“ GSUtil:parallel_process_count = X”更改了Debian和Ubuntu上的内存消耗:

  • 1个并行进程:85MB
  • 5个并行进程:125MB
  • 10个平行 进程:165MB
  • 50个并行进程:310MB

如果在CentOS container image上使用gsutil在GKE上遇到内核恐慌问题,则切换到Ubuntu映像应该会有所帮助。

如果内存消耗太大,无法同时下载3个文件,则可以考虑仅使用1或2次下载。

还有high memory usage with GKE

的已知问题