-
Notifications
You must be signed in to change notification settings - Fork 18.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
dockerd doesn't seem to recover from low memory on host #29854
Comments
ping @mlaventure |
I'm also seeing plenty of those, which seem to be associated with the daemon not responding to
|
Do you mean that, because I have more than 10 containers running, in situations of low memory, the containerd could lose contact with the daemon in some way and, then, they wouldn't be able to reconnect because of their numbers (> 10 not being queued/managed/...) ? (I'm a bit confused by the other issue as I'm simply running containers, not restoring them nor playing with any CRIU features.) |
@RRAlex from your description and log provided you don't seem to hit a low memory scenario since your system reports more than 8GB available. Here the health check timeouts, meaning the exec command it tries to execute wasn't processed by if you try to do an exec manually (or run a brand new container), does it go through? |
The low memory scenario (seen in ressource graphs) happened before memory was freed by OOM though. I'll try the exec / docker run next time and will keep you posted! |
@RRAlex I was referring to your second message sorry, not the original issue. |
I'm pretty sure I just got this with Docker version 20.10.18, build b40c2f6 on Rocky Linux 9. Compose down/up didn't solve the problem and I'm pretty sure I restarted dockerd at one time (not containerd, though) - with no success. |
I'm experiencing similar to @yogo1212 . It's on a system I don't have access to but just get logs for. |
Steps to reproduce the issue:
TL;DR: It seems like the Docker daemon can't recover from a low memory situation and is even timing out trying to kill containers or a simple
docker ps
.I have an issue where, after a low memory situation,
docker stats
only gives empty output, all the container fall inunhealthy
mode,docker ps
is stuck, etc. Even when something gets OOM-ed (container via mem_limit: or system level) or if memory is freed, it stays in that broken state until it is restarted.A daemon reboot is basically required to have any control over it again after it ran low on memory.
Interesting log lines (cherry-picked):
Describe the results you received:
Daemon stays stuck when the machine is low on RAM and doesn't recover when RAM is freed, requiring a restart.
Describe the results you expected:
Daemon's API should answer the cli tool or give an error saying it's in a bad state that it can't recover from? Or simply recover from low memory situations.
Additional information you deem important (e.g. issue happens only occasionally):
Output of
docker version
:Output of
docker info
:Additional environment details (AWS, VirtualBox, physical, etc.):
KVM & Ubuntu Xenial LTS
( Initial unrelated post/issue: #29635 (comment) )
The text was updated successfully, but these errors were encountered: