当达到限制时,mesos cGroup不会终止任务

lfapxunr  于 2021-06-21  发布在  Mesos
关注(0)|答案(1)|浏览(388)

我在测试mesos cgroups隔离。看看会抛出什么样的错误。我用马拉松跑了一个空壳程序。分配1 mb内存和1个cpu。


# !/bin/sh

temp=a
while :
do
    temp=$temp$temp
    echo ${#temp}
    sleep 1
done

单个字符占用1b的空间,因此上面的程序需要在临时字符串的长度达到大约1MB时抛出异常。但这些任务似乎是随机终止的。任务有时会以1048576或2097152或4194304的长度被杀死。理想情况下,由于1mb是限制,因此当长度为524288时,它应该停止。
附加信息-slave与--isolation='cgroups/cpu,cgroups/mem'mesos version-0.25一起运行

w8ntj3qf

w8ntj3qf1#

您所看到的差异可以用以下解释:
脚本占用的内存量并不是完全确定的,因为它取决于shell解释器的实现以及系统共享库的大小(即加载到程序常驻集中的那些库的部分)。
mesos中的1mb任务伴随着32mb的执行器。因为executor需要的内存略少于32MB,所以您的任务将略多于1MB。

相关问题