4 Reviewing TuneD Profiles
The following sections provide an overview of TuneD profiles and how they're configured in
their respective tuned.conf configuration files.
Predefined Profiles
The following list provides a summary of profiles that are commonly provided for use with TuneD:
-
balanced -
The
balancedprofile provides a balance between performance and power consumption. The profile uses automatic scaling and automatic tuning when possible. A possible drawback is increased latency. -
powersave -
The
powersaveprofile provides maximum power saving performance. The profile can minimize actual power consumption by throttling performance.Note:
In some instances, the
balancedprofile is more efficient than thepowersaveprofile and therefore, a better choice. For example, consider a workload that includes idle periods between resource-intensive tasks. A system running in a higher performance mode uses more energy to complete the tasks, but it completes them more quickly, and returns its components to idle power saving states for longer. In such situations, thebalancedprofile can be a better option. -
throughput-performance -
The
throughput-performanceprofile disables power-saving mechanisms and enablessysctlsettings to improve the throughput performance of the disk and network IO. -
latency-performance -
The
latency-performanceprofile is optimized for low latency. The profile disables power-saving mechanisms and enablessysctlsettings to improve latency. -
network-latency -
The
network-latencyprofile provides low latency network tuning. Thenetwork-latencyprofile inherits from thelatency-performanceprofile, and in addition, includes several network-relatedsysctlsettings. The profile also disables transparent huge pages and automatic NUMA balancing. -
network-throughput -
The
network-throughputprofile is used for optimizing throughput network tuning. Thenetwork-throughputis based on thethroughput-performanceprofile, and in addition, includessysctlsettings to increase kernel network buffer sizes. -
virtual-guest -
The
virtual-guestprofile is designed for virtual guests and is based on thethroughput-performanceprofile. In addition, this profile decreases virtual memoryswappinessand increases thedirty_ratiosetting. -
virtual-host -
The
virtual-hostprofile is designed for virtual hosts and is based on thethroughput-performanceprofile. In addition, this profile sets a more aggressive value for dirty pageswriteback. -
desktop -
The
desktopprofile is optimized for desktop environments and is based on thebalancedprofile. In addition, this profile sets schedulerautogroupsfor better response of interactive applications.
Note:
Different types of instances of Oracle Linux can have different TuneD profiles installed by default. For example, on an Oracle Linux instance that's running in Oracle Cloud Infrastructure, the list would include extra profiles, such as the following:
-
oci-busy-polling -
The
oci-busy-pollingprofile enables Busy Polling conditionally in OCI. -
oci-cpu-power -
The
oci-cpu-powerprofile sets processor power management parameters in OCI. -
oci-nic -
The
oci-nicprofile increases combined channels to 16 on NICs with bnxt_en driver on BM shapes in OCI. -
oci-rps-xps -
The
oci-rps-xpsprofile enables RPS/XPS conditionally in OCI
To get a complete list of tuned-profile packages that are available for
installation, run the following command:
sudo dnf list tuned-profiles*
For more information about profiles, see the manual page for
tuned-profiles(7).
Custom Profiles
The predefined profiles included with TuneD cover a range of use cases. TuneD can also run custom profiles in cases where further optimization is required. One way of creating a custom profile is to copy an existing profile and then customizing that profile as required. For more information about how to create and activate custom profiles, see Creating a Custom TuneD Profile.
TuneD Profile Configuration Files
Profiles are automatically stored in the following directories:
-
/usr/lib/tuned/profile_namecontains predefined profiles. -
/etc/tuned/profile_namecontains custom profiles.
Each profile's rules are contained in a corresponding tuned.conf file. For
example, for the latency-performance profile, the rules are defined in
/usr/lib/tuned/latency-performance/tuned.conf, while the rules for
the powersave profile are defined in
/usr/lib/tuned/powersave/tuned.conf.
The following extract shows an example configuration file for the
latency-performance profile:
[main]
summary=Optimize for deterministic performance at the cost of increased power consumption
[cpu]
force_latency=cstate.id_no_zero:1|3
governor=performance
energy_perf_bias=performance
min_perf_pct=100
[acpi]
platform_profile=performance
[sysctl]
# If a workload mostly uses anonymous memory and it hits this limit, the entire
# working set is buffered for I/O, and any more write buffering would require
# swapping, so it's time to throttle writes until I/O can catch up. Workloads
# that mostly use file mappings may be able to use even higher values.
#
# The generator of dirty data starts writeback at this percentage (system default
# is 20%)
vm.dirty_ratio=10
# Start background writeback (via writeback threads) at this percentage (system
# default is 10%)
vm.dirty_background_ratio=3
# The swappiness parameter controls the tendency of the kernel to move
# processes out of physical memory and onto the swap disk.
# 0 tells the kernel to avoid swapping processes out of physical memory
# for as long as possible
# 100 tells the kernel to aggressively swap processes out of physical memory
# and move them to swap cache
vm.swappiness=10
[scheduler]
runtime=0
...
The previous example shows how profile configuration files often include sections such as
[cpu] and [sysctl], where different types of component
and performance configurations are defined.
Profiles can inherit settings from other profiles. For example, the following sample
extract shows how the configuration file for the network-performance
profile uses the include= option to inherit settings from the
latency-performance profile:
[main]
summary=Optimize for deterministic performance at the cost of increased power consumption, focused on low latency network performance
include=latency-performance
[vm]
transparent_hugepages=never
[sysctl]
net.core.busy_read=50
net.core.busy_poll=50
net.ipv4.tcp_fastopen=3
kernel.numa_balancing=0
kernel.hung_task_timeout_secs = 600
kernel.nmi_watchdog = 0
vm.stat_interval = 10
kernel.timer_migration = 0
[bootloader]
cmdline_network_latency=skew_tick=1 tsc=reliable rcupdate.rcu_normal_after_boot=1
...
For more information about configuring TuneD profiles, see the
tuned.conf(5) manual page.