[Bug]: Netdata causes persistent high CPU usage in dockerd/containerd on an idle Docker host
Bug description
Netdata causes unexpectedly high CPU usage on an almost idle Docker host.
Environment:
- AlmaLinux 9
- 1 vCPU
- ~3.6 GiB RAM
- Docker with approximately 6 mostly idle containers
- Netdata installed directly on the host
- Netdata v2.10.0-135-nightly
While Netdata is running, btop consistently shows approximately:
containerd: 12-20% CPU dockerd: 12-20% CPU netdata: ~1-2% CPU
Total CPU usage is commonly around 25-40%, despite the actual Docker containers being almost completely idle.
At the same time, docker stats shows essentially no container workload. Typical values:
ai-chating-bot 0.00% traefik 0.00% photochanger-app ~0.15-0.20% nature-static 0.00% photochanger-pg usually 0.00%, occasional short spike portainer 0.00%
Then I run:
systemctl stop netdata
Immediately afterwards, CPU usage drops to approximately 1%, and both dockerd and containerd drop to approximately 0%.
No Docker containers are stopped or changed during this test.
There is no custom Docker/go.d configuration on this system:
/etc/netdata/go.d/ does not exist.
Also:
grep -Rni docker /etc/netdata/go.d /etc/netdata/netdata.conf
returns nothing.
This makes the issue particularly confusing because Netdata itself appears to consume only a small amount of CPU, while most of the CPU work induced by it is accounted to dockerd and containerd.
Expected behavior
Netdata should monitor a small Docker host without causing persistent significant CPU load in dockerd/containerd.
On an otherwise idle host with only a few idle containers, the monitoring overhead should be low enough that it does not materially affect the CPU utilization being measured.
Steps to reproduce
Run Docker with several mostly idle containers.
Start Netdata.
Observe CPU usage in
btop.Observe that
dockerdandcontainerdcontinuously consume approximately 12-20% CPU each.Run
docker statsand verify that the actual containers are essentially idle.Run:
systemctl stop netdata
Observe that
dockerdandcontainerdimmediately fall to approximately 0% CPU and total CPU usage falls to approximately 1%.
Installation method
manual setup of official DEB/RPM packages
System info
Linux dbmart-alma9-DSLR.com 5.14.0-611.49.2.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Apr 30 09:05:08 EDT 2026 x86_64 x86_64 x86_64 GNU/Linux
/etc/almalinux-release:AlmaLinux release 9.7 (Moss Jungle Cat)
/etc/os-release:NAME="AlmaLinux"
/etc/os-release:VERSION="9.7 (Moss Jungle Cat)"
/etc/os-release:ID="almalinux"
/etc/os-release:ID_LIKE="rhel centos fedora"
/etc/os-release:VERSION_ID="9.7"
/etc/os-release:PLATFORM_ID="platform:el9"
/etc/os-release:PRETTY_NAME="AlmaLinux 9.7 (Moss Jungle Cat)"
/etc/os-release:ANSI_COLOR="0;34"
/etc/os-release:LOGO="fedora-logo-icon"
/etc/os-release:CPE_NAME="cpe:/o:almalinux:almalinux:9::baseos"
/etc/os-release:
/etc/os-release:ALMALINUX_MANTISBT_PROJECT="AlmaLinux-9"
/etc/os-release:ALMALINUX_MANTISBT_PROJECT_VERSION="9.7"
/etc/os-release:REDHAT_SUPPORT_PRODUCT="AlmaLinux"
/etc/os-release:REDHAT_SUPPORT_PRODUCT_VERSION="9.7"
/etc/os-release:SUPPORT_END=2032-06-01
/etc/redhat-release:AlmaLinux release 9.7 (Moss Jungle Cat)
/etc/system-release:AlmaLinux release 9.7 (Moss Jungle Cat)
Netdata build info
root@dbmart-alma9-DSLR ~]# netdata -W buildinfo head -20
time=2026-08-19T23:27:46.947+07:00 comm=netdata source=daemon level=notice errno="2, No such file or directory" tid=2131996 msg="CONFIG: cannot load user config '/etc/netdata/stream.conf'. Will try stock config."
Packaging:
Netdata Version ____________________________________________ : v2.10.0-135-nightly
Installation Type __________________________________________ : binpkg-rpm
Package Architecture _______________________________________ : x86_64
Package Distro _____________________________________________ :
Configure Options __________________________________________ : cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_C_STANDARD=11 -DCMAKE_CXX_STANDARD=17 -DBUILD_SHARED_LIBS=OFF -DCMAKE_C_FLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64-v2 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fexceptions -ffunction-sections -fdata-sections -Wno-builtin-macro-redefined -fno-omit-frame-pointer -funwind-tables -fasynchronous-unwind-tables' -DCMAKE_CXX_FLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64-v2 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -march=x86-64-v2 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fexceptions -ffunction-sections -fdata-sections -Wno-builtin-macro-redefined -fno-omit-frame-pointer -funwind-tables -fasynchronous-unwind-tables' -DCMAKE_COMPILE_DEFINITIONS='_GNU_SOURCE' -DCMAKE_EXE_LINKER_FLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fexceptions -ffunction-sections -fdata-sections -Wno-builtin-macro-redefined -rdynamic' -DCMAKE_SHARED_LINKER_FLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1'
Default Directories:
User Configurations ________________________________________ : /etc/netdata
Stock Configurations _______________________________________ : /usr/lib/netdata/conf.d
Stock Data Files ___________________________________________ : /usr/share/netdata
Ephemeral Databases (metrics data, metadata) _______________ : /var/cache/netdata
Permanent Databases ________________________________________ : /var/lib/netdata
Plugins ____________________________________________________ : /usr/libexec/netdata/plugins.d
Static Web Files ___________________________________________ : /usr/share/netdata/web
Log Files __________________________________________________ : /var/log/netdata
Lock Files _________________________________________________ : /var/lib/netdata/lock
Home _______________________________________________________ : /var/lib/netdata
Operating System:
Kernel _____________________________________________________ : Linux
Kernel Version _____________________________________________ : 5.14.0-611.49.2.el9_7.x86_64
Operating System ___________________________________________ : AlmaLinux
Operating System ID ________________________________________ : almalinux
Operating System ID Like ___________________________________ : rhel centos fedora
Operating System Version ___________________________________ : 9.7 (Moss Jungle Cat)
Operating System Version ID ________________________________ : none
Detection __________________________________________________ : /etc/os-release
Hardware:
CPU Cores __________________________________________________ : 2
CPU Frequency ______________________________________________ : 2599000000
RAM Bytes __________________________________________________ : 3832860672
Disk Capacity ______________________________________________ : 69793218560
CPU Architecture ___________________________________________ : x86_64
Virtualization Technology __________________________________ : kvm
Virtualization Detection ___________________________________ : systemd-detect-virt
Container:
Container __________________________________________________ : none
Container Detection ________________________________________ : systemd-detect-virt
Container Orchestrator _____________________________________ : none
Container Operating System _________________________________ : none
Container Operating System ID ______________________________ : none
Container Operating System ID Like _________________________ : none
Container Operating System Version _________________________ : none
Container Operating System Version ID ______________________ : none
Container Operating System Detection _______________________ : none
Features:
Built For __________________________________________________ : Linux
Netdata Cloud ______________________________________________ : YES
Health (trigger alerts and send notifications) _____________ : YES
Streaming (stream metrics to parent Netdata servers) _______ : YES
Back-filling (of higher database tiers) ____________________ : YES
Replication (fill the gaps of parent Netdata servers) ______ : YES
Streaming and Replication Compression ______________________ : YES (zstd lz4 gzip)
Contexts (index all active and archived metrics) ___________ : YES
Tiering (multiple dbs with different metrics resolution) ___ : YES (5)
Machine Learning ___________________________________________ : YES
Memory Allocator ___________________________________________ : system
Database Engines:
sqlite _____________________________________________________ : 3.50.4
dbengine (compression) _____________________________________ : YES (zstd lz4)
alloc ______________________________________________________ : YES
ram ________________________________________________________ : YES
none _______________________________________________________ : YES
Connectivity Capabilities:
ACLK (Agent-Cloud Link: MQTT over WebSockets over TLS) _____ : YES
static (Netdata internal web server) _______________________ : YES
WebRTC (experimental) ______________________________________ : NO
Native HTTPS (TLS Support) _________________________________ : YES
TLS Host Verification ______________________________________ : YES
Libraries:
LZ4 (extremely fast lossless compression algorithm) ________ : YES
ZSTD (fast, lossless compression algorithm) ________________ : YES
zlib (lossless data-compression library) ___________________ : YES
Brotli (generic-purpose lossless compression algorithm) ____ : NO
protobuf (platform-neutral data serialization protocol) ____ : YES (system)
OpenSSL (cryptography) _____________________________________ : YES
libdatachannel (stand-alone WebRTC data channels) __________ : NO
JSON-C (lightweight JSON manipulation) _____________________ : YES
libcap (Linux capabilities system operations) ______________ : NO
libcrypto (cryptographic functions) ________________________ : YES
libyaml (library for parsing and emitting YAML) ____________ : YES
libmnl (library for working with netfilter) ________________ : YES
stacktraces (library for getting stack traces) _____________ : libbacktrace (mmap, threads, data)
Plugins:
apps (monitor processes) ___________________________________ : YES
cgroups (monitor containers and VMs) _______________________ : YES
cgroup-network (associate interfaces to CGROUPS) ___________ : YES
proc (monitor Linux systems) _______________________________ : YES
tc (monitor Linux network QoS) _____________________________ : YES
diskspace (monitor Linux mount points) _____________________ : YES
freebsd (monitor FreeBSD systems) __________________________ : NO
macos (monitor MacOS systems) ______________________________ : NO
windows (monitor Windows systems) __________________________ : NO
statsd (collect custom application metrics) ________________ : YES
timex (check system clock synchronization) _________________ : YES
idlejitter (check system latency and jitter) _______________ : YES
bash (support shell data collection jobs - charts.d) _______ : YES
debugfs (kernel debugging metrics) _________________________ : YES
cups (monitor printers and print jobs) _____________________ : YES
ebpf (monitor system calls) ________________________________ : YES
freeipmi (monitor enterprise server H/W) ___________________ : YES
network-viewer (monitor TCP/UDP IPv4/6 sockets) ____________ : YES
systemd-journal (monitor journal logs) _____________________ : YES
windows-events (monitor Windows events) ____________________ : NO
nfacct (gather netfilter accounting) _______________________ : NO
perf (collect kernel performance events) ___________________ : YES
slabinfo (monitor kernel object caching) ___________________ : YES
Xen ________________________________________________________ : NO
Xen VBD Error Tracking _____________________________________ : NO
Exporters:
AWS Kinesis ________________________________________________ : NO
GCP PubSub _________________________________________________ : NO
MongoDB ____________________________________________________ : YES
Prometheus (OpenMetrics) Exporter __________________________ : YES
Prometheus Remote Write ____________________________________ : YES
Graphite ___________________________________________________ : YES
Graphite HTTP / HTTPS ______________________________________ : YES
JSON _______________________________________________________ : YES
JSON HTTP / HTTPS __________________________________________ : YES
OpenTSDB ___________________________________________________ : YES
OpenTSDB HTTP / HTTPS ______________________________________ : YES
All Metrics API ____________________________________________ : YES
Shell (use metrics in shell scripts) _______________________ : YES
Debug/Developer Features:
Trace All Netdata Allocations (with charts) ________________ : NO
Developer Mode (more runtime checks, slower) _______________ : NO
Runtime Information:
Profile ____________________________________________________ : standalone
Stream Parent (accept data from Children) __________________ : NO
Stream Child (send data to a Parent) _______________________ : NO
Total System Memory ________________________________________ : 3832860672
Available System Memory ____________________________________ : 1707098112
Additional info
There is no custom Docker/go.d configuration on this host: /etc/netdata/go.d/ does not exist.
With Netdata running, dockerd and containerd consume approximately 12-20% CPU each while the containers are essentially idle.
Immediately after systemctl stop netdata, both drop to approximately 0% and total CPU usage drops to ~1%.
With netdata
Without netdata
Source: netdata/netdata