多数のc4.large
ecs インスタンスがあり、それぞれに実行中の celery ワーカーを含む実行中の docker コンテナーが 1 つあります。ときどき、システムによって労働者が殺されるのを目にします。
WorkerLostError('Worker exited prematurely: signal 9 (SIGKILL).',)
次dmesg
の行が表示されます。
Memory cgroup out of memory: Kill process 27886 (celery) score 112 or sacrifice child
私が理解しているように、OOMがこれを担当しています
しかし、次の行も見ることができますdmesg
:
memory: usage 964544kB, limit 1048576kB, failcnt 246284
free -m
1 GBに制限があると言っていますが、この制限の理由がわかりません。
total used free shared buffers cached
Mem: 3768 3461 307 0 140 2211
-/+ buffers/cache: 1108 2659
Swap: 0 0 0
もう 1 つの重要なポイントは、通常の ec2c4.large
インスタンスがあり、同じ数 (またはそれ以上) のワーカーで実行されているセロリがあり、docker がなく、このインスタンスでこの問題が発生したことがないことです。したがって、メモリを消費するドッカーのオーバーヘッドである可能性があると思いますが、何か見落としているのでしょうか?
ありがとう