| Sep | OCT | Nov |
| 30 | ||
| 2019 | 2020 | 2021 |
COLLECTED BY
Collection: Common Crawl
/etc/netdata/netdata.conf and set update_every to a higher number (this is the frequency in seconds data are collected for all charts: higher number of seconds = lower frequency, the default is 1 for per second data collection). You can also set this frequency per module or chart. Check the daemon configuration for plugins and charts. For specific modules, the configuration needs to be changed in:
●python.d.conf for python
●node.d.conf for nodejs
●charts.d.conf for bash
web compression level = 1, or disable web compression completely by setting enable web responses gzip compression = no. Both settings are in the [web] section.
/proc and /sys and serve web clients accessing it.
Keep in mind that Netdata saves its database when it exits, and loads it up again when started.
idle process scheduler, which assigns CPU resources to Netdata, only when the system has such resources to spare.
The following netdata.conf settings control this:
[global]
process scheduling policy = idle
process scheduling priority = 0
process nice level = 19
The policies supported by Netdata are idle (the Netdata default), other (also as nice), batch, rr, fifo. Netdata also recognizes keep and none to keep the current settings without changing them.
For other, nice and batch, the setting process nice level = 19 is activated to configure the nice level of Netdata. Nice gets values -20 (highest) to 19 (lowest).
For rrand fifo, the setting process scheduling priority = 0 is activated to configure the priority of the relative scheduling policy. Priority gets values 1 (lowest) to 99 (highest).
For the details of each scheduler, see man sched_setscheduler and man sched.
When Netdata is running under systemd, it can only lower its priority (the default is other with nice level = 0). If you want to make Netdata to get more CPU than that, you will need to set in netdata.conf:
[global]
process scheduling policy = keep
and edit /etc/systemd/system/netdata.service and add:
CPUSchedulingPolicy=other | batch | idle | fifo | rr
CPUSchedulingPriority=99
Nice=-10
update every value (again in /etc/netdata/netdata.conf), so that they do not run that frequently.
Edit /etc/netdata/netdata.conf, find the [plugins] section:
[plugins]
proc = yes
tc = no
idlejitter = no
cgroups = no
checks = no
apps = no
charts.d = no
node.d = no
python.d = no
plugins directory = /usr/libexec/netdata/plugins.d
enable running new plugins = no
check for new plugins every = 60
In detail:
| plugin | description |
|---|---|
proc | the internal plugin used to monitor the system. Normally, you don't want to disable this. You can disable individual functions of it at the next section. |
tc | monitoring network interfaces QoS (tc classes) |
idlejitter | internal plugin (written in C) that attempts show if the systems starved for CPU. Disabling it will eliminate a thread. |
cgroups | monitoring linux containers. Most probably you are not going to need it. This will also eliminate another thread. |
checks | a debugging plugin, which is disabled by default. |
apps | a plugin that monitors system processes. It is very complex and heavy (consumes twice the CPU resources of the Netdata daemon), so if you don't need to monitor the process tree, you can disable it. |
charts.d | BASH plugins (squid, nginx, mysql, etc). This is a heavy plugin, that consumes twice the CPU resources of the Netdata daemon. |
node.d | node.js plugin, currently used for SNMP data collection and monitoring named (the name server). |
python.d | has many modules and can use over 20MB of memory. |
proc. For proc there is another section that controls which functions of it you need. Check the next section.
proc plugin you need. All these are run in a single thread, one after another. Still, each one needs some RAM and consumes some CPU cycles. With all the modules enabled, the proc plugin adds ~9 MiB on top of the 5 MiB required by the Netdata daemon.
[plugin:proc]
# /proc/net/dev = yes # network interfaces
# /proc/diskstats = yes # disks
...
Refer to the proc.plugins documentation for the list and description of all the proc plugin modules.
update every = 5orupdate every = 10 (higher number = lower frequency) in netdata.conf, until you get acceptable results.
Keep in mind this will also force dashboard chart refreshes to happen at the same rate. So increasing this number actually lowers data collection frequency but also lowers dashboard chart refreshes frequency.
This is a dashboard on a device with [global].update every = 5 (this device is a media player and is now playing a movie):
[global] section of netdata.conf:
[global]
# memory mode = dbengine
# page cache size = 32
# dbengine disk space = 256
See the database engine documentation or our guide on metrics
retention for more details on lowering the database engine's memory requirements.