我想知道是否有任何公共脚本可以在特定负载量/高 CPU 时自动重启 OpenVZ 容器。尝试限制个人计算机上的容器,谢谢。
答案1
如图所示:http://openvz.org/Loadavg;可以使用以下方法获取某个容器的平均负载
vzctl exec $CTID cat /proc/loadavg
你可以用类似下面的方法轻松地编写脚本
#!/bin/bash
# loop over all OpenVZ containers
for container in $(vzlist -o ctid | egrep -o '[0-9]+')
do
if (( $(bc <<< "$(vzctl exec $container cat /proc/loadavg | cut -d' ' -f1) <= 0.2") == 1 ))
then
echo "Load is less than 0.2"
else
echo "Load is above 0.2, stopping container $container"
vzctl stop $container
fi
done
它利用了这样一个事实:可以从 /proc/loadavg 中读取各个间隔 1 至 5 和 15 的负载平均值