Shell 谷歌计算引擎的实例冻结了在谷歌云存储上上传文件的尝试
我编写了这个shell脚本,从url列表下载归档文件,对它们进行解压缩,最后将它们移动到云存储桶中Shell 谷歌计算引擎的实例冻结了在谷歌云存储上上传文件的尝试,shell,debian,google-cloud-storage,google-compute-engine,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"
#!/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包含url列表。该实例是使用gooogle提供的debian 7映像创建的
脚本在前5或6个文件中正确运行,但随后实例冻结,我必须删除该实例。实例冻结时ram或磁盘未满
我认为问题是由命令gsutil cp引起的,但奇怪的是,CPU负载实际上为0,而且RAM是空闲的,但不重新启动就无法使用实例。是否将临时文件写入默认的10GB根磁盘?如果是这样,您可能会遇到持久的磁盘吞吐量上限。若要查看是否存在这种情况,请单击并将该磁盘用于临时文件。考虑从~200 GB磁盘开始,看看是否有足够的吞吐量来满足您的工作量。另外,请参阅上的文档。一些问题有助于缩小范围:是否存在导致此问题的特定文件名或文件大小?如果是这样,在该文件上手动运行(不使用脚本)gsutil cp是否会导致此问题?