Jam*_*mes 4 google-compute-engine
我在实例组中的某些实例上运行了一些稍微不可靠的软件.该软件由启动脚本安装和运行,并且大部分时间都可以正常运行,但是由于软件中存在某种类型的内存泄漏,大约约10%的新实例会因内存耗尽而崩溃.我不能自己解决这个漏洞,所以在此期间,我每隔几个小时就检查一次实例并查看显示空闲CPU的任何内容(该软件正常消耗所有可用的CPU电源).
但是,我正在使用可抢占的实例,它们可以随时被杀死并重新启动,只要我没有主动监视它们就会运行死实例.经过一天无人看管后,我通常会在仪表板中看到约80-85%的CPU使用率,其余部分则被浪费掉了.
有没有任何自动化方法可以杀死这些死亡的实例?重新启动它们已由实例组处理.
小智 7
以下对我有用.这是它使用bash脚本uptime
UNIX命令检查CPU上的15分钟的平均负载是否低于阈值,并自动关闭系统,如果这是在连续十张支票属实.您需要在VM实例中运行它.
信用,更详细的解释:Rohit Rawat的博客.
#!/bin/bash
threshold=0.4
count=0
while true
do
load=$(uptime | sed -e 's/.*load average: //g' | awk '{ print $3 }')
res=$(echo $load'<'$threshold | bc -l)
if (( $res ))
then
echo "Idling.."
((count+=1))
fi
echo "Idle minutes count = $count"
if (( count>10 ))
then
echo Shutting down
# wait a little bit more before actually pulling the plug
sleep 300
sudo poweroff
fi
sleep 60
done
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1792 次 |
最近记录: |