Open lukas-lang opened 7 months ago
Update: After some more debugging, I am now more confused than ever: It looks like the problem might after all not be specific to Docker, but rather a general issue on my system, i.e. starting any application will leave behind a zombie process. I will need to investigate further once I find some more time. In the meantime, any insights would of course be greatly appreciated
@lukas-lang I've been having the exact same experience - thousands and thousands of zombie processes, ram getting eaten up, system process constantly around 5-15%, etc.
Pretty much ran all the tests you have, on RamMap + WPR, and reached the same results as in your screenshots. Only difference is the symbols I noticed in my WPR report were somewhat different, mostly variations of "CcUnpinRepinnedBcb".
I ended up finding out that the "docker context ls" command is called from both the mentioned VSCode extension, and Docker Desktop itself - I'm assuming for polling the container status, cpu usage, etc. Removing the extension only fixed part of the problem though, since most of the polling is still being done by Docker Desktop.
After reading your last comment I got curious and ended up finding your related post on the Framework forums. After trying the test described there (not on a clean install) I now suspect that this is indeed unrelated to docker, just a side effect due to docker desktop calling that process in loop.
I'm not even using the same laptop as you though (Asus X13 2022, AMD Ryzen 9 model), so not sure where to go from here.
@lukas-lang This seems promising, will test out the driver downgrade in the next day or two. https://community.amd.com/t5/drivers-software/memory-leak-on-zen4/td-p/662281
@totoguy Wow, nice find! Downgrading to version 23.10.2 of the AMD drivers does indeed seem to fix the issue
Hello there...
That's the same situation here, and I'm using an Intel(R) Core(TM) i5-1035G1 CPU
Does anybody have a clue how to avoid this situation?
Description
Related to https://github.com/docker/for-win/issues/13923 and https://github.com/rancher-sandbox/rancher-desktop/issues/6451
Running
docker context ls --format "{{json .}}"
(as is done e.g. by the VS Code Dev containers extension) leaves behind a zombie process that is never cleaned up. This leads to a loss of available RAM & causes the system process to use a lot of CPU (due to all the page table entries).Some observations:
The FindZombieHandles tool sees the process handles, but can't assign them to anything:
RamMap shows tens of GB of memory used by "Page table", "System PTE", and "Unused":
RamMap shows that the culprit is indeed docker (the list is hundreds of thousands of entries long, with 1/3 "conhost.exe", "docker.exe" and "com.docker.cli" each - note also the PIDs that are in the millions by now):
When doing absolutely nothing, the System process eats up half a core of CPU:
Windows Performance Recorder confirms that this is due to stuff related to the page table:
Reproduce
docker context ls --format "{{json .}}"
a bunch of times (docker engine is not running in my case)Expected behavior
The processes should be cleaned up
docker version
docker info
Diagnostics ID
096291B3-D04B-4013-8FAF-A02527A5E4CB/20240421192036
Additional Info
No response