TuneD plugins

TuneD profiles use plugins to monitor or optimize different devices on the system.

TuneD uses two types of plugins:

Monitoring plugins
Used for gathering system data such as, CPU load, disk I/O, and network traffic. The output of the monitoring plugins can be used by tuning plugins for dynamic tuning. Monitoring plugins are automatically instantiated whenever their metrics are needed by any of the enabled tuning plugins. The available monitoring plugins are:
disk
Gets disk load (number of IO operations) per device and measurement interval.
net
Gets network load (number of transferred packets) per network card and measurement interval.
load
Gets CPU load per CPU and measurement interval.
Tuning plugins
Each tuning plugin tunes an individual subsystem and takes several parameters that are populated from the TuneD profiles. Each subsystem can have multiple devices, such as multiple CPUs or network cards, handled by individual instances of the tuning plugins. Specific settings for individual devices are also supported. The available tuning plugins are:
acpi
Configures the ACPI driver. Use the platform_profile option to set the ACPI platform profile sysfs attribute. It is a generic power/performance preference API for other drivers. Multiple profiles can be specified, separated by |. The first available profile is selected.
audio
Sets the autosuspend timeout for audio codecs to the value specified by the timeout option. Currently, the snd_hda_intel and snd_ac97_codec codecs are supported. The value 0 means that autosuspend is disabled. You can also enforce the controller reset by setting the Boolean option reset_controller to true.
bootloader
Adds options to the kernel command line. This plugin supports only the GRUB boot loader. Customized non-standard location of the GRUB configuration file can be specified by the grub2_cfg_file option. The kernel options are added to the current GRUB configuration and its templates. The system needs to be rebooted for the kernel options to take effect.
cpu
Manages CPU governor and power settings by setting the CPU governor to the value specified by the governor option. It dynamically changes the Power Management Quality of Service (PM QoS) CPU Direct Memory Access (DMA) latency, according to the CPU load.
disk
Manages disk settings such as apm, scheduler_quantum, readahead, readahead_multiply, spindown.
eeepc_she
Dynamically sets the front-side bus (FSB) speed according to the CPU load.
irq
Handles individual interrupt requests (IRQ) as devices and multiple plugin instances can be defined, each addressing different devices or irqs. The device names used by the plugin are irq<n>, where <n> is the IRQ number. The special device DEFAULT controls values written to /proc/irq/default_smp_affinity, which applies to all non-active IRQs.
irqbalance
Manages settings for irqbalance. The plugin configures CPUs which should be skipped when rebalancing IRQs in /etc/sysconfig/irqbalance. It then restarts irqbalance only if it was previously running.
modules
Applies custom kernel modules options. It can set parameters to kernel modules and creates /etc/modprobe.d/tuned.conf file. The syntax is module=option1=value1 option2=value2…​ where module is the module name and optionx=valuex are module options which might be present.
mounts
Enables or disables barriers for mounted filesystems.
net
Configures Wake-on-LAN and interface speed by using the same syntax as the ethtool utility. Also, dynamically changes the interface speed according to the interface utilization.
rtentsk
Avoids inter-processor interruptions caused by enabling or disabling static keys. It has no options. When included, TuneD keeps an open socket with timestamping enabled, thus keeping the static key enabled.
selinux
Tunes SELinux options. SELinux decisions, such as allowing or denying access, are cached. This cache is known as the Access Vector Cache (AVC). When using these cached decisions, SELinux policy rules need to be checked less, which increases performance. The avc_cache_threshold option adjusts the maximum number of AVC entries.
systemd
Tunes systemd options. The cpu_affinity option sets CPU affinity in /etc/systemd/system.conf. This configures the CPU affinity for the service manager and the default CPU affinity for all forked off processes. Add a comma-separated list of CPUs with optional CPU ranges specified by the minus sign (-).
scsi_host
Tunes SCSI host settings (for example, ALPM).
scheduler
Offers a variety of options for the tuning of scheduling priorities, CPU core isolation, and process, thread, and IRQ affinities.
script
Runs external script or binary when loading or unloading a profile.
service
Handles various sysvinit, sysv-rc, openrc, and systemd services specified by the plugin options. Supported service handling commands are start, stop, enable, and disable.
sysctl
Modifies kernel parameters. Use this plugin only if you want to change system settings that are not covered by other plugins available in TuneD. The syntax is name=value, where name is the same as the name provided by the sysctl utility.
sysfs
Sets various sysfs settings specified by the plugin options. The syntax is name=value, where name is the sysfs path to use.
usb
Adjusts USB autosuspend timeout. The value 0 means that autosuspend is disabled.
uncore
Limits the maximum and minimum uncore frequency. The options max_freq_khz, min_freq_khz correspond to sysfs files exposed by Intel uncore frequency driver. Their values can be specified in kHz or as a percentage of their configurable range.
video
Sets various powersave levels on video cards. Currently, only the Radeon cards are supported. The powersave level can be specified by using the radeon_powersave option. Supported values are, default, auto, low, mid, high, dynpm, dpm-battery, dpm-balanced, and dpm-perfomance.
vm
Enables or disables transparent huge pages. Valid values for the transparent_hugepages option are: always, never, madvise.