当达到限制时,Mesos cgroups隔离不会终止任务

时间:2015-12-23 21:45:48

标签: mesos marathon cgroups

我正在测试mesos cgroups隔离。要查看抛出的错误类型。 我用marathon运行了下面的shell程序。分配1 MB内存和1个CPU。

 #!/bin/sh

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

单个字符占用1B空间,因此一旦临时字符串的长度达到大约1 MB,上面的程序就需要抛出异常。但这些任务似乎随机被杀。该任务有时会被杀死1048576或2097152或4194304。 理想情况下,当长度为 524288 时,1MB是限制,它应该停止。

其他信息 - 奴隶运行--isolation =' cgroups / cpu,cgroups / mem' Mesos版本 - 0.25

1 个答案:

答案 0 :(得分:1)

您可以通过以下方式解释您看到的差异:

  • 脚本占用的内存量并不完全确定,因为它取决于shell解释器的实现以及系统共享库的大小(即加载到这些库中的那些库的部分)你的节目的常驻集。)。
  • Mesos中的1 MB任务伴随着执行程序的32 MB。由于执行程序所需的内容略小于32 MB,因此您的任务将略多于1 MB。