1
0
Fork 0
tuned/man/tuned-main.conf.5
Matthew Mattox 4e300529c9
feat(sysctl): add reapply_sysctl_exclude option
When reapply_sysctl=1 (default), TuneD re-applies all system sysctl
settings after profile switches. This breaks Kubernetes overlay
networking because CNI plugins set net.ipv4.ip_forward=1 at runtime,
which gets overwritten by static /etc/sysctl.d/ files.

Add reapply_sysctl_exclude config option to protect specific sysctls
from reapplication while maintaining backward compatibility. Supports
shell-style wildcards via fnmatch.

Example config for Kubernetes:
  reapply_sysctl_exclude = net.ipv4.ip_forward, net.ipv6.conf.*.forwarding

Fixes: #816
Signed-off-by: Matthew Mattox <mmattox@support.tools>
2025-12-16 15:13:58 -06:00

117 lines
4.7 KiB
Groff

.TH "tuned-main.conf" "5" "15 Oct 2013" "Jaroslav Škarvada" "tuned-main.conf file format description"
.SH NAME
tuned\-main.conf - TuneD global configuration file
.SH SYNOPSIS
.B /etc/tuned/tuned\-main.conf
.SH DESCRIPTION
This man page documents format of the TuneD global configuration file.
The \fItuned\-main.conf\fR file uses the ini\-file format.
.TP
.BI daemon= BOOL
This defines whether TuneD will use daemon or not. It is boolean value.
It can be \fBTrue\fR or \fB1\fR if the daemon is enabled and
\fBFalse\fR or \fB0\fR if disabled. It is not recommended to disable
daemon, because many functions will not work without daemon, e.g.
there will be no D-Bus, no settings rollback, no hotplug support,
no dynamic tuning, ...
.TP
.BI dynamic_tuning= BOOL
This defines whether the dynamic tuning is enabled. It is boolean value.
It can be \fBTrue\fR or \fB1\fR if the dynamic tuning is enabled and
\fBFalse\fR or \fB0\fR if disabled. In such case only the static tuning
will be used. Please note if it is enabled here, it is still possible
to individually disable it in plugins. It is only applicable if
\fBdaemon\fR is enabled.
.TP
.BI sleep_interval= INT
TuneD daemon is periodically waken after \fIINT\fR seconds and checks
for events. By default this is set to 1 second. If you have Python 2
interpreter with applied patch from Red Hat Bugzilla #917709 this
controls responsiveness time of TuneD to commands (i.e. if you
request profile switch, it may take up to 1 second until TuneD reacts).
Increase this number for higher responsiveness times and more power
savings (due to lower number of wakeups). In case you have unpatched
Python 2 interpreter, this settings will have no visible effect,
because the interpreter will poll 20 times per second. It is only
applicable if \fBdaemon\fR is enabled.
.TP
.BI update_interval= INT
Update interval for dynamic tuning (in seconds). TuneD daemon is periodically
waken after \fIINT\fR seconds, updates its monitors, calculates new tuning
parameters for enabled plugins and applies the changes. Plugins that have
disabled dynamic tuning are not processed. By default the \fIINT\fR is set
to 10 seconds. TuneD daemon doesn't periodically wake if dynamic tuning is
globally disabled (see \fBdynamic_tuning\fR) or this setting set to 0.
This must be multiple of \fBsleep_interval\fR. It is only applicable if
\fBdaemon\fR is enabled.
.TP
.BI recommend_command= BOOL
This controls whether recommend functionality will be enabled or not. It is
boolean value. It can be \fBTrue\fR or \fB1\fR if the recommend command is
enabled and \fBFalse\fR or \fB0\fR if disabled. If disabled \fBrecommend\fR
command will be not available in CLI, TuneD will not parse \fIrecommend.conf\fR
and will return one hardcoded profile (by default \fBbalanced\fR). It is only
applicable if \fBdaemon\fR is enabled. By default it's set to \fBTrue\fR.
.TP
.BI reapply_sysctl= BOOL
This controls whether to reapply sysctl settings from \fI/run/sysctl.d/*.conf\fR,
\fI/etc/sysctl.d/*.conf\fR and \fI/etc/sysctl.conf\fR after TuneD sysctl
settings are applied. These are locations supported by \fBsysctl --system\fR,
excluding those that contain sysctl configuration files provided by system packages.
So if \fBreapply_sysctl\fR is set to \fBTrue\fR or \fB1\fR, TuneD sysctl settings
will not override user-provided system sysctl settings. If set to \fBFalse\fR or
\fB0\fR, TuneD sysctl settings will override system sysctl settings. By default
it's set to \fBTrue\fR.
.TP
.BI reapply_sysctl_exclude= LIST
A comma or semicolon separated list of sysctl parameter patterns to exclude
from reapplication when \fBreapply_sysctl\fR is enabled. This is useful for
protecting runtime sysctl changes made by Kubernetes CNI plugins or other
services that set sysctls dynamically. Supports shell-style wildcards
(\fB*\fR, \fB?\fR, \fB[seq]\fR). By default the list is empty.
.PP
.RS
.B Example:
.nf
reapply_sysctl_exclude = net.ipv4.ip_forward, net.ipv6.conf.*.forwarding
.fi
.RE
.TP
.BI default_instance_priority= INT
Default instance (unit) priority. By default it's \fB0\fR. Each unit has a
priority which is by default preset to the \fIINT\fR. It can be overridden
in the TuneD profile by the \fBpriority\fR option. TuneD units are processed
in order defined by their priorities, i.e. unit with the lowest number is
processed as the first.
.SH EXAMPLE
.nf
no_daemon = 0
dynamic_tuning = 1
sleep_interval = 1
update_interval = 10
recommend_command = 0
reapply_sysctl = 1
reapply_sysctl_exclude = net.ipv4.ip_forward, net.bridge.bridge-nf-call-iptables
default_instance_priority = 0
.fi
.SH FILES
.I /etc/tuned/tuned\-main.conf
.SH "SEE ALSO"
.LP
tuned(8)
.SH AUTHOR
Written by Jaroslav Škarvada <jskarvad@redhat.com>.
.SH REPORTING BUGS
Report bugs to https://bugzilla.redhat.com/.