Netdata
My linux system regularly write data on disk, I don’t expect this activity, how to find which process does that? - ChatGPT
Netdata is a very common source of constant disk write
By default, netdata writes metrics to disk continuously (its internal database), even if you’re not actively viewing dashboards.
$ sudo iotop -oPa-o → show only processes actually doing I/O
-P → show per-process (not per-thread)
-a → accumulate I/O over time
# Setup
$ sudo systemctl restart netdata# Netdata dashboard
- netdata instead of Grafana see netdata/netdata
- Install Netdata with kickstart.sh - script can be customized and accept arguments
sudo touch /opt/netdata/etc/netdata/.opt-out-from-anonymous-statistics--disable-telemetry--no-updates
- Install Netdata with kickstart.sh - script can be customized and accept arguments
# Ram only
# /opt/netdata/netdata-configs/netdata.conf
[global]
memory mode = ram
[health]
enabled = no
[logging]
debug log = none
error log = none
access log = none
[registry]
enabled = no
[db]
mode = ram# Nvidia ⮺
Netdata consumes CPU, never VRAM.
# /opt/netdata/netdata-configs/netdata.conf
[plugins]
nvidia_smi = yesThat [plugins] entry is dead config on netdata v2
nvidia_smi under [plugins] only loads plugins.d/nvidia_smi.sh, which no longer ships — the collector was rewritten in Go. Verified on netdata v2.8.5: no such file in plugins.d/. The GPU charts actually come from the go.d collector, configured somewhere else entirely.
The go.d job spawns a long-lived child that dumps every counter as full XML, every 5 s, forever:
$ pgrep -af nvidia-smi
netdata 2402 /usr/bin/nvidia-smi -q -x -l 5 # ppid 2000 = go.d.plugin-q -x = full XML dump, -l 5 = loop it every 5 seconds. Much heavier than a dashboard needs.
# Fix
Override the job in /opt/netdata/etc/netdata/go.d/nvidia_smi.conf. Editing the packaged /opt/netdata/usr/lib/netdata/conf.d/go.d/nvidia_smi.conf would be lost on upgrade; the user dir wins and survives.
jobs:
- name: nvidia_smi
update_every: 10go.d jobs are read at startup, so systemctl restart netdata is required — a reload is not enough.