docs/netdata-agent/configuration/optimize-the-netdata-agents-performance.md
While Netdata Agents work seamlessly out-of-the-box with comprehensive monitoring, you can tune their configuration for better performance when needed.
By default, your Netdata Agent provides:
These features deliver comprehensive monitoring but consume system resources. You might need to optimize when running Agents on resource-constrained systems or when scaling your monitoring infrastructure.
:::note
See Resource Utilization for detailed Agent resource requirements.
:::
Here's how each optimization strategy reduces resource usage:
| Optimization Strategy | Reduces CPU | Reduces RAM | Reduces Disk IO |
|---|---|---|---|
| Set up Parent-Child architecture | ✓ | ✓ | ✓ |
| Disable unneeded collectors | ✓ | ✓ | ✓ |
| Reduce collection frequency | ✓ | ✓ | |
| Adjust metric retention | ✓ | ✓ | |
| Switch to RAM mode | ✓ | ✓ | |
| Turn off ML on Children | ✓ |
Transform your monitoring by using Parent nodes as centralization points. Parents collect and aggregate data from multiple Child nodes, significantly reducing the load on individual systems.
In this setup:
:::tip This architecture works especially well in production environments where you monitor many systems. Learn more in our Centralization Points documentation. :::
Reduce resource usage by turning off Plugins or Collectors you don't need.
:::warning Important Only active collectors consume resources. Inactive plugins and collectors shut down automatically, so you only save resources by disabling those currently running and collecting metrics. :::
Follow our configuration guide to identify and disable specific collectors.
Save CPU and disk IO by collecting metrics less frequently. If you don't need per-second precision, or if your Agent consumes too much CPU during periods of low dashboard activity, increase the collection interval.
This change:
Learn how to adjust collection frequency in our configuration guide.
Control memory and disk usage by changing how long your Agent stores historical data. Shorter retention periods mean:
Configure retention settings using our database configuration guide.
For IoT devices and Child nodes in Parent-Child setups, switch to RAM mode to eliminate disk operations entirely. This mode:
:::tip
Since Child nodes stream metrics to Parents, they don't need persistent local storage. RAM mode is ideal for this use case.
:::
Set up RAM mode following our database configuration guide.
Optimize resource allocation by running Machine Learning only where it matters most. We recommend:
To disable ML, edit your configuration using edit-config:
[ml]
enabled = no
:::tip
This configuration particularly benefits Child nodes, allowing them to focus on their primary role of collecting and streaming metrics to Parent nodes where ML analysis happens centrally.
:::