Right now the memory limits appear to be hard limits before the service container is killed. I see that in https://github.com/aws/containers-roadmap/issues/322 ECS supports swap now. I also see in the ECS task definition it looks like there is a spot for soft memory limits instead of hard limits but I don’t see a way to do that on Convox.
I have a service that usually stays within a 256MB limit, but occasionally on large render jobs goes above that. I can always just increase the memory limit, but it looks like doing that will slow down the majority of jobs by having fewer services/EC2 instance. I would rather just let the few larger jobs run a little slower via using the swap if they go above that limit instead of hard crashing. It is also going to be a continual game of wack a mole to guess what the largest job will ever be since it is left up to customers to design as complex pages as they want.