3

mesos cgroups 分離をテストしていました。どのようなエラーがスローされるかを確認します。以下のシェルプログラムをマラソンで実行しました。1 MB のメモリと 1 つの CPU が割り当てられています。

 #!/bin/sh

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

1 文字で 1B のスペースが必要になるため、一時文字列の長さが約 1 MB に達すると、上記のプログラムは例外をスローする必要があります。しかし、タスクはランダムに殺されるようです。タスクは、長さが1048576または 2097152 または 4194304 で強制終了されることがあります。

追加情報 - スレーブは --isolation='cgroups/cpu,cgroups/mem' で実行されます Mesos バージョン - 0.25

4

1 に答える 1

1

表示されている分散は、次のように説明できます。

  • スクリプトが使用するメモリの量は、シェル インタープリタの実装とシステムの共有ライブラリ (つまり、プログラムの常駐セットにロードされるライブラリの一部) のサイズに依存するため、完全に決定論的ではありません。
  • Mesos の 1 MB のタスクには、executor 用に 32 MB が伴います。エグゼキュータが必要とするメモリは 32​​ MB よりわずかに少ないため、タスクには 1 MB よりわずかに多くなります。
于 2016-11-17T18:02:36.233 に答える