4.38.0 com.docker.backend. CPU usage is 100% ...
Description
Any container you start that after awhile (an hour or so), backend is CPU pegged at 100%.
Another observation: once I shutdown (quit) Docker Desktop, the com.docker.backend service is still running at 100% CPU usage. I had to restart my MacBook to eliminate it.
Reproduce
Start any container (I used Alpine Linux 3.21), and after about an hour, backend is pegged at 100% CPU usage.
Expected behavior
backend CPU usage should be under 2% to 10% range.
docker version
Client:
Version: 27.5.1
API version: 1.47
Go version: go1.22.11
Git commit: 9f9e405
Built: Wed Jan 22 13:37:19 2025
OS/Arch: darwin/arm64
Context: desktop-linux
Server: Docker Desktop 4.38.0 (181591)
Engine:
Version: 27.5.1
API version: 1.47 (minimum version 1.24)
Go version: go1.22.11
Git commit: 4c9b3b0
Built: Wed Jan 22 13:41:25 2025
OS/Arch: linux/arm64
Experimental: false
containerd:
Version: 1.7.25
GitCommit: bcc810d6b9066471b0b6fa75f557a15a1cbf31bb
runc:
Version: 1.1.12
GitCommit: v1.1.12-0-g51d5e946
docker-init:
Version: 0.19.0
GitCommit: de40ad0
docker info
Client:
Version: 27.5.1
API version: 1.47
Go version: go1.22.11
Git commit: 9f9e405
Built: Wed Jan 22 13:37:19 2025
OS/Arch: darwin/arm64
Context: desktop-linux
Server: Docker Desktop 4.38.0 (181591)
Engine:
Version: 27.5.1
API version: 1.47 (minimum version 1.24)
Go version: go1.22.11
Git commit: 4c9b3b0
Built: Wed Jan 22 13:41:25 2025
OS/Arch: linux/arm64
Experimental: false
containerd:
Version: 1.7.25
GitCommit: bcc810d6b9066471b0b6fa75f557a15a1cbf31bb
runc:
Version: 1.1.12
GitCommit: v1.1.12-0-g51d5e946
docker-init:
Version: 0.19.0
GitCommit: de40ad0
ALANG-M3:~ aguedeney$ docker info
Client:
Version: 27.5.1
Context: desktop-linux
Debug Mode: false
Plugins:
ai: Ask Gordon - Docker Agent (Docker Inc.)
Version: v0.7.3
Path: /Users/aguedeney/.docker/cli-plugins/docker-ai
buildx: Docker Buildx (Docker Inc.)
Version: v0.20.1-desktop.2
Path: /Users/aguedeney/.docker/cli-plugins/docker-buildx
compose: Docker Compose (Docker Inc.)
Version: v2.32.4-desktop.1
Path: /Users/aguedeney/.docker/cli-plugins/docker-compose
debug: Get a shell into any image or container (Docker Inc.)
Version: 0.0.38
Path: /Users/aguedeney/.docker/cli-plugins/docker-debug
desktop: Docker Desktop commands (Beta) (Docker Inc.)
Version: v0.1.4
Path: /Users/aguedeney/.docker/cli-plugins/docker-desktop
dev: Docker Dev Environments (Docker Inc.)
Version: v0.1.2
Path: /Users/aguedeney/.docker/cli-plugins/docker-dev
extension: Manages Docker extensions (Docker Inc.)
Version: v0.2.27
Path: /Users/aguedeney/.docker/cli-plugins/docker-extension
feedback: Provide feedback, right in your terminal! (Docker Inc.)
Version: v1.0.5
Path: /Users/aguedeney/.docker/cli-plugins/docker-feedback
init: Creates Docker-related starter files for your project (Docker Inc.)
Version: v1.4.0
Path: /Users/aguedeney/.docker/cli-plugins/docker-init
sbom: View the packaged-based Software Bill Of Materials (SBOM) for an image (Anchore Inc.)
Version: 0.6.0
Path: /Users/aguedeney/.docker/cli-plugins/docker-sbom
scout: Docker Scout (Docker Inc.)
Version: v1.16.1
Path: /Users/aguedeney/.docker/cli-plugins/docker-scout
Server:
Containers: 2
Running: 0
Paused: 0
Stopped: 2
Images: 7
Server Version: 27.5.1
Storage Driver: overlayfs
driver-type: io.containerd.snapshotter.v1
Logging Driver: json-file
Cgroup Driver: cgroupfs
Cgroup Version: 2
Plugins:
Volume: local
Network: bridge host ipvlan macvlan null overlay
Log: awslogs fluentd gcplogs gelf journald json-file local splunk syslog
CDI spec directories:
/etc/cdi
/var/run/cdi
Swarm: inactive
Runtimes: io.containerd.runc.v2 runc
Default Runtime: runc
Init Binary: docker-init
containerd version: bcc810d6b9066471b0b6fa75f557a15a1cbf31bb
runc version: v1.1.12-0-g51d5e946
init version: de40ad0
Security Options:
seccomp
Profile: unconfined
cgroupns
Kernel Version: 6.12.5-linuxkit
Operating System: Docker Desktop
OSType: linux
Architecture: aarch64
CPUs: 4
Total Memory: 2.845GiB
Name: docker-desktop
ID: 947dc408-2edf-4539-92a7-77c20ea6a2b7
Docker Root Dir: /var/lib/docker
Debug Mode: false
HTTP Proxy: http.docker.internal:3128
HTTPS Proxy: http.docker.internal:3128
No Proxy: hubproxy.docker.internal
Labels:
com.docker.desktop.address=unix:///Users/aguedeney/Library/Containers/com.docker.docker/Data/docker-cli.sock
Experimental: false
Insecure Registries:
hubproxy.docker.internal:5555
127.0.0.0/8
Live Restore Enabled: false
WARNING: daemon is not using the default seccomp profile
Diagnostics ID
7472A6C4-04D4-43F4-A84A-A63221C5AD68/20250304034445
Additional Info
This looks like #5164 (?)
Thanks for the report. When this happens next, could you click on the process in Activity Monitor, click on the Info button, then click “Sample” and share the output? After it should be possible to Force Quit the process (but it might not respond to a normal Quit) Thanks!
My com.docker.backend was also locked at 100% Cpu Usage after hibernation for a few hours. Here is the output:
It seems the previous conditions did not set off com.docker.backend to 100% CPU usage. I'll keep trying, but for now I haven't been able to reproduce the problem. However, if and when it happens again, I will add the "Sample" output here.
I have the same issue, my com.docker.backend process sits at 99.8%.
I've tried switching FS from VirtioFS to gRPC FUSE and back again, as well as Docker VMM / Apple Virtualisation Framework without success.
Add another one to the list of people affected. Started this week after the most recent update. Been using Docker Desktop on this system for years without experiencing this issue.
I can confirm the same issue for Docker Desktop 4.4.0 (engine 28.0.4) on an Intel Mac:
Docker Info
$ docker info
Client:
Version: 28.0.4
Context: desktop-linux
Debug Mode: false
Plugins:
ai: Docker AI Agent - Ask Gordon (Docker Inc.)
Version: v1.1.3
Path: /Users/markusmahlberg/.docker/cli-plugins/docker-ai
buildx: Docker Buildx (Docker Inc.)
Version: v0.22.0-desktop.1
Path: /Users/markusmahlberg/.docker/cli-plugins/docker-buildx
cloud: Docker Cloud (Docker Inc.)
Version: 0.2.20
Path: /Users/markusmahlberg/.docker/cli-plugins/docker-cloud
compose: Docker Compose (Docker Inc.)
Version: v2.34.0-desktop.1
Path: /Users/markusmahlberg/.docker/cli-plugins/docker-compose
debug: Get a shell into any image or container (Docker Inc.)
Version: 0.0.38
Path: /Users/markusmahlberg/.docker/cli-plugins/docker-debug
desktop: Docker Desktop commands (Beta) (Docker Inc.)
Version: v0.1.6
Path: /Users/markusmahlberg/.docker/cli-plugins/docker-desktop
dev: Docker Dev Environments (Docker Inc.)
Version: v0.1.2
Path: /Users/markusmahlberg/.docker/cli-plugins/docker-dev
extension: Manages Docker extensions (Docker Inc.)
Version: v0.2.27
Path: /Users/markusmahlberg/.docker/cli-plugins/docker-extension
init: Creates Docker-related starter files for your project (Docker Inc.)
Version: v1.4.0
Path: /Users/markusmahlberg/.docker/cli-plugins/docker-init
sbom: View the packaged-based Software Bill Of Materials (SBOM) for an image (Anchore Inc.)
Version: 0.6.0
Path: /Users/markusmahlberg/.docker/cli-plugins/docker-sbom
scout: Docker Scout (Docker Inc.)
Version: v1.17.0
Path: /Users/markusmahlberg/.docker/cli-plugins/docker-scout
Server:
Containers: 2
Running: 2
Paused: 0
Stopped: 0
Images: 9
Server Version: 28.0.4
Storage Driver: overlayfs
driver-type: io.containerd.snapshotter.v1
Logging Driver: json-file
Cgroup Driver: cgroupfs
Cgroup Version: 2
Plugins:
Volume: local
Network: bridge host ipvlan macvlan null overlay
Log: awslogs fluentd gcplogs gelf journald json-file local splunk syslog
CDI spec directories:
/etc/cdi
/var/run/cdi
Swarm: inactive
Runtimes: io.containerd.runc.v2 runc
Default Runtime: runc
Init Binary: docker-init
containerd version: 753481ec61c7c8955a23d6ff7bc8e4daed455734
runc version: v1.2.5-0-g59923ef
init version: de40ad0
Security Options:
seccomp
Profile: unconfined
cgroupns
Kernel Version: 6.10.14-linuxkit
Operating System: Docker Desktop
OSType: linux
Architecture: x86_64
CPUs: 4
Total Memory: 7.656GiB
Name: docker-desktop
ID: 76b1b417-da47-4669-8fc8-f59c5cb5ead9
Docker Root Dir: /var/lib/docker
Debug Mode: false
HTTP Proxy: http.docker.internal:3128
HTTPS Proxy: http.docker.internal:3128
No Proxy: hubproxy.docker.internal
Labels:
com.docker.desktop.address=unix:///Users/markusmahlberg/Library/Containers/com.docker.docker/Data/docker-cli.sock
Experimental: false
Insecure Registries:
hubproxy.docker.internal:5555
::1/128
127.0.0.0/8
Live Restore Enabled: false
WARNING: DOCKER_INSECURE_NO_IPTABLES_RAW is set
WARNING: daemon is not using the default seccomp profile
System Info
$ system_profiler SPSoftwareDataType SPHardwareDataType
Software:
System Software Overview:
System Version: macOS 14.7.4 (23H420)
Kernel Version: Darwin 23.6.0
Boot Volume: Macintosh HD
Boot Mode: Normal
Computer Name: MacBook Pro von Markus
User Name: Markus Mahlberg (markusmahlberg)
Secure Virtual Memory: Enabled
System Integrity Protection: Disabled
Time since boot: 5 Stunden
Hardware:
Hardware Overview:
Model Name: MacBook Pro
Model Identifier: MacBookPro14,1
Processor Name: Dual-Core Intel Core i5
Processor Speed: 2,3 GHz
Number of Processors: 1
Total Number of Cores: 2
L2 Cache (per Core): 256 KB
L3 Cache: 4 MB
Hyper-Threading Technology: Enabled
Memory: 16 GB
System Firmware Version: 529.140.2.0.0
OS Loader Version: 580.140.1~51
SMC Version (system): 2.43f11
I've noticed every time I run docker compose up or down the docker daemon gets a 100% bump in CPU. After running docker compose up + down 3 times, it's now sitting at 600% CPU even through no containers are running.
Interesting finding @erikvanzijst -- I have exactly the same behaviour on my Intel Mac. After startup com.docker.backend has negligible CPU usage. As soon as I start my usual compose stack (dc up -d), the process consumes 200% CPU, if I downit and start it again, the usage rises further; roughly by some multiples of 100%. The exact amount seems to change (100%, 200%, 400% or even more).
The desktop app as well as the containers keep responsive, nothing "hangs". But the fan spins all the time, and the only thing that helps is quitting the desktop app and start it again.
Here is the sample from activity monitor, after a fresh docker start and starting my stack once (cpu load 200%): Analyse von „Docker“.txt
PS: I have this behavior for months now over some versions from MacOS and Docker Desktop and I need to quit the docker app regularly. While working with docker (so all my day) the fans are constantly spinning.
I am also seeing this on an Intel Mac. (Docker for Mac 4.40.0).
Terminating the Docker app stops the problem.
I can restart the Docker app and this will also solve the CPU problem, but as soon as I run another container it's pegs the CPU again- which persists long after the container has terminated.
I just updated to 4.41.0 (190950) and at first glance it seems like the problem is gone. I have started and stopped a stack multiple times, and CPU usage is normal. If the problems come back later today, I will edit this Post.
I have also been using 4.41.0 (190950) for a couple days now without this issue reoccurring 🤞
Same here. I haven't seen the issue since upgrading to 4.41.0. 🤞