Google Compute Engine实例冻结尝试在Google云端存储上传文件

时间:2014-06-05 17:17:32

标签: shell debian google-cloud-storage google-compute-engine

我编写了这个shell脚本,从url列表中下载档案,解压缩它们,最后将它们移到云存储桶中。

#!/bin/bash
# declare STRING variable

for iurl in $(cat ./html-rdfa.list); do
    filename=$(basename "$iurl")
    file="${filename%.*}"
    if gsutil ls gs://rdfa/$file; then
        echo "yes"
    else
        wget $iurl
        gunzip $filename
        gsutil cp -n $file gs://rdfa
        rm $file
        sleep 2
    fi
done

html-rdfa.list 包含网址列表。该实例是使用gooogle提供的debian 7图像创建的。

脚本正确运行前5或6个文件,但随后实例冻结,我必须删除该实例。当冻结时,实例的ram或磁盘未满。

我认为问题是由命令 gsutil cp 引起的,但奇怪的是CPU负载几乎为0并且RAM也是免费的,但是在不重新启动它们的情况下使用该实例是不可能的。

1 个答案:

答案 0 :(得分:2)

您是否将临时文件写入默认的10GB根磁盘?如果是这样,您可能会遇到持久磁盘吞吐量上限。要查看是否是这种情况,请create a new Persistent Disk,然后mount it as a data disk并将该磁盘用于临时文件。考虑从~200GB磁盘开始,看看这是否足以支持您的工作负载。另请参阅Persistent Disk performance上的文档。