Last modified 4 months ago Last modified on 02/05/16 17:01:15


A tool that performs monitoring and adaptive configuration of the system according to selected profile.


Quick Start Guide

After installing the package you simply need to start the tuned service. If systemd is used you can use:

# systemctl start tuned.service

You can also automatically start it during system startup. If systemd is used, you can enable the automatic start the following way:

# systemctl enable tuned.service

There are various profiles optimized for powersave, performance and virtual hosts/guests. You can view all available profiles by:

# tuned-adm list

The default is balanced profile, if you want to switch to e.g. powersave profile use:

# tuned-adm profile powersave

This settings is persistent across reboots.

Profiles contains various sysctl/sysfs settings and optionally a script that is run on profile activation/deactivation. This is called static tuning. We try to keep the database of tunings up-to-date with the latest kernels. The profiles also contain settings for various tuned plugins that tune the system dynamically. Each plugin can connect to various sensors. Currently there are plugins for CPU, disk, ethernet and FSB. For example the ethernet plugin change the ethernet speed according to previous network load.

System profiles are located in /usr/lib/tuned. You can create your own profiles that can also include and override settings from system profiles. Your custom profiles can be put into /etc/tuned, they have higher priority in case of conflict. For details see man page of tuned.conf.

PowerTOP Support

You can create your own profiles from PowerTOP suggestions. For example if you want to create profile my-profile that will implement all PowerTOP suggestions that are relevant on your system run:

# powertop2tuned my-profile

This command will create new profile in /etc/tuned/my-profile and will include settings from your previous profile. To be safe all tunings suggested by PowerTOP are initially disabled. You can selectively enable them by going through /etc/tuned/my-profile/ and uncommenting the appropriate lines. You can switch to this new profile by:

# tuned-adm profile my-profile

Dynamic Tuning & Troubleshooting

Tuned supports dynamic tuning, which can dynamically tune your hardware / kernel settings according to current system utilization. The feature is meant as a helper for cases, where is no kernel auto-tuning supported / available (yet). It is experimental feature, still under development and currently very limited. It is by default enabled. If you don't like it you can globally disable it in /etc/tuned/tuned-main.conf by setting:

 dynamic_tuning = 0

Or if the particular plugin is causing trouble to you, e.g. you don't like the network plugin changing the interface speed according to network utilization in the powersave profile, you can disable such plugin by customizing the profile. E.g. to disable the mentioned network plugin in the powersave profile you can do the following:

# mkdir /etc/tuned/custom-powersave && cat << :EOF > /etc/tuned/custom-powersave/tuned.conf


Than you can select / activate your custom profile by the following command:

# tuned-adm profile custom-powersave

Full Documentation

Tuned documentation can be found in the Fedora Power Management:


Latest release (2016-01-05):

tuned-2.6.0 (SHA-1: 3c5bccf10d653657063398c1bf2ceeb2fa872a60)

All releases


Noticeable changes since previous release (for full changes see git log):

  • plugin_cpu: do not show error if cpupower or x86_energy_perf_policy are missing
  • plugin_sysctl: fixed quoting of sysctl values (rhbz#1254538)
  • tuned-adm: added log file location hint to verify command output
  • libexec: fixed listdir and isdir in (rhbz#1252160)
  • plugin_cpu: save and restore only intel pstate attributes that were changed (rhbz#1252156)
  • functions: fixed sysfs save to work with options (rhbz#1251507)
  • plugins: added scsi_host plugin
  • tuned-adm: fixed restart attempt if tuned is not running
  • spec: fixed post scriptlet to work without grub (rhbz#1265654)
  • tuned-profiles-nfv: fix for CPUS where ns > 6500 (rhbz#1267284)
  • functions: fixed restore_logs_syncing to preserve SELinux context on rsyslog.conf (rhbz#1268901)
  • realtime: set unboud workqueues cpumask (rhbz#1259043)
  • spec: correctly remove tuned footprint from /etc/default/grub (rhbz#1268845)
  • gui: fixed creation of new profile (rhbz#1274609)
  • profiles: removed nohz_full from the realtime profile (rhbz#1274486)
  • profiles: Added nohz_full and nohz=on to realtime guest/host profiles (rhbz#1274445)
  • profiles: fixed lapic_timer_adv_ns cache (rhbz#1259452)
  • plugin_sysctl: pass verification even if the option doesn't exist (rhbz#1252153)
  • added support for 'summary' and 'description' of profiles, extended D-Bus API for better Cockpit support (rhbz#1228356)

Changelog for all releases

GIT repository

$ git clone git://

Browse the GIT repository from your WWW browser

Here in the Trac Browser or on

Mailing list

IRC channel

  • #fedora-power AT freenode


  • Jaroslav Škarvada <jskarvad AT>