2.5.2. Tuned-adm

Often, a detailed audit and analysis of a system can be very time consuming and might not be worth the few extra watts you might be able to save by doing so. Previously, the only alternative was simply to use the defaults. Therefore, Red Hat Enterprise Linux 6 includes separate profiles for specific use cases as an alternative between those two extremes, together with the tuned-adm tool that allows you to switch between these profiles easily at the command line. Red Hat Enterprise Linux 6 includes a number of predefined profiles for typical use cases that you can simply select and activate with the tuned-adm command, but you can also create, modify or delete profiles yourself.
To list all available profiles and identify the current active profile, run:
tuned-adm list
To only display the currently active profile, run:
tuned-adm active
To switch to one of the available profiles, run:
tuned-adm profile profile_name

Example 2.4. Switching to the server-powersave profile

tuned-adm profile server-powersave
To disable all tuning:
tuned-adm off
When you first install tuned, the default profile will be active. Red Hat Enterprise Linux 6 also includes the following predefined profiles:
The default power-saving profile. It has the lowest impact on power saving of the available profiles and only enables CPU and disk plugins of tuned.
A power-saving profile directed at desktop systems. Enables ALPM power saving for SATA host adapters (refer to Section 3.8, “Aggressive Link Power Management”) as well as the CPU, Ethernet, and disk plugins of tuned.
A power-saving profile directed at server systems. Enables ALPM powersaving for SATA host adapters, disables CD-ROM polling through HAL (refer to the hal-disable-polling man page) and activates the CPU and disk plugins of tuned.
A medium-impact power-saving profile directed at laptops running on AC. Enables ALPM powersaving for SATA host adapters, WiFi power saving, as well as the CPU, Ethernet and disk plugins of tuned.
A high-impact power-saving profile directed at laptops running on battery. It activates all power saving mechanisms from the previous profiles plus it enables the multi-core power-savings scheduler for low wakeup systems and makes sure that the ondemand governor is active and that AC97 audio power-saving is enabled. You can use this profile to save the maximum amount of power on any kind of system, not only laptops on battery power. The tradeoff for this profile is a noticeable impact on performance, specifically latency of disk and network I/O.
A strong power-saving profile directed at machines with classic hard disks. It enables aggressive disk spin-down by increasing disk writeback values, lowering disk swappiness, and disabling log syncing. All partitions are remounted with a noatime option. All tuned plugins are disabled.
A server profile for typical throughput performance tuning. It disables tuned and ktune power saving mechanisms, enables sysctl settings that improve the throughput performance of your disk and network I/O, and switches to the deadline scheduler. CPU governor is set to performance.
A server profile for typical latency performance tuning. This profile disables dynamic tuning mechanisms and transparent hugepages. It uses the performance governer for p-states through cpuspeed, and sets the I/O scheduler to deadline. Additionally, in Red Hat Enterprise Linux 6.5 and later, the profile requests a cpu_dma_latency value of 1. In Red Hat Enterprise Linux 6.4 and earlier, cpu_dma_latency requested a value of 0.
A server profile to improve throughput performance for enterprise-sized server configurations. This switches to the deadline scheduler and disables certain I/O barriers, dramatically improving throughput.
This profile is optimized for virtual machines. It is based on the enterprise-storage profile, but also decreases the swappiness of virtual memory. This profile is available in Red Hat Enterprise Linux 6.3 and later.
Based on the enterprise-storage profile, this profile decreases the swappiness of virtual memory and enables more aggressive writeback of dirty pages. Non-root and non-boot file systems are mounted with barrier=0. Additionally, as of Red Hat Enterprise Linux 6.5, the kernel.sched_migration_cost parameter is set to 5 milliseconds. Prior to Red Hat Enterprise Linux 6.5, kernel.sched_migration_cost used the default value of 0.5 milliseconds
A profile optimized for Oracle databases loads based on throughput-performance profile. It additionaly disables transparent huge pages and modifies some other performance related kernel parameters. This profile is provided by tuned-profiles-oracle package. It is available in Red Hat Enterprise Linux 6.8 and later.


There may be more product specific or 3rd party Tuned profiles available. Such profiles are usually provided by separate RPM packages.
All the profiles are stored in separate subdirectories under /etc/tune-profiles. Thus /etc/tune-profiles/desktop-powersave contains all the necessary files and settings for the desktop-powersave profile. Each of these directories contains up to four files:
the configuration for the tuned service to be active for this profile.
the sysctl settings used by ktune. The format is identical to the /etc/sysconfig/sysctl file (refer to the sysctl and sysctl.conf man pages).
the configuration file of ktune itself, typically /etc/sysconfig/ktune.
an init-style shell script used by the ktune service which can run specific commands during system startup to tune the system.

Example 2.5. Creating a New Profile

The easiest way to start a new profile is to copy an existing one and edit the configuration options. The laptop-battery-powersave profile contains a very rich set of tunings already and is therefore a useful starting point.
  1. Copy the whole directory to the new profile name:
    cp -a /etc/tune-profiles/laptop-battery-powersave/ /etc/tune-profiles/myprofile
  2. Modify any of the files in the new profile to match your personal requirements. If you require the detection of CD changes, you could disable that optimization by commenting out the appropriate line in the ktune.sh script:
    # Disable HAL polling of CDROMS
    # for i in /dev/scd*; do hal-disable-polling --device $i; done > /dev/null 2>&1