Alpha version exhausting processes/threads when limits are not reached #1281
Comments
i believe this is because the cgroup created by docker on behalf of the container has the
in docker 1.11, you could avoid this by using can you try setting DefaultTasksMax? |
Yes, that seems to be the problem, now:
Anyway, for this new CoreOS version are we expected to set this DefaultTasksMax value or pid-limit parameter? Shouldn't the cgroup created by docker inherit its systemd parameters like TasksMax? |
the pids cgroup controller was enabled in CoreOS 1029.0.0. |
What does that exactly mean? is this not a bug? If docker is creating cgroups ignoring its systemd configuration, then, to increase the number of pids, we either set it up in docker or with DefaultTasksMax. Is that the expected behaviour? |
From a user experience perspective, can we increase this so the default experience matches what folks expect? IE, being able to run more than 20 containers on a host. |
@robszumski the limit should just be per-container, so 1 or 20 containers are fine but each suffer from the same limit. @victorgp it means we are setting the default limit back to infinity, even outside of docker the default limit is super easy to hit with with Go and other, higher values felt equally as arbitrary. No other resource is limited by default so having this one limit is kinda odd. |
@victorgp should be fixed in alpha 1047.0.0, give it a spin. |
Is anything wrong with the releases? Yesterday i checked https://coreos.com/releases/ and alpha was 1047.0.0 but now it is back to 1032.1.0 |
fixed by coreos/systemd#49 |
Hi guys. I'm a little confused why was this fixed this way. Isn't this an issue with docker? And it should inherit the limits from docker service? |
@agherzan we run docker with the systemd cgroup driver so containers are created in independent scopes from the daemon itself, so settings applied to the daemon's cgroup do not apply to containers. |
Archlinux does similar. And it inherits the value from the service. |
The current alpha versions 1032.1.0 and 1045.0.0 (the ones i tried) are exhausting the processes/threads very quickly even when the limits are not reached.
This problem doesn't occur in stable(899.17.0) and beta (1010.3.0) versions
I also increased the limits in systemd to discard that, but fails anyway.
Easy to reproduce:
1- Install alpha version
2- Create file /etc/systemd/system/docker.service.d/10-settings.conf with content:
3- Restart docker
4- Run a container:
5- Check limits inside the container
6- Loop inside the container that creates a lot of threads
Output:
For our case, alpha version is unusable right now, running around 20 containers make them fail because they cannot create more threads.
The text was updated successfully, but these errors were encountered: