Skip to content
Français
Account: not signed in, sync available My learning
Select theme
Français

Tune system performance with tuned profiles

By updated

Improve this page

tuned is a service that applies a consistent set of system settings, a profile, suited to the use of the machine. Rather than adjusting dozens of kernel, CPU and disk parameters by hand, you choose a profile (throughput-performance for a server, powersave to save energy, virtual-guest for a VM) and tuned takes care of the rest. This guide shows how to list the profiles, see the active one, let tuned recommend the right one, change it and verify it is applied. For intermediate administrators, mainly on RHEL and derivatives. The RHCSA objectives (EX200, RHEL 10) name it explicitly: "Manage tuning profiles", under Operate running systems. Outputs come from an AlmaLinux 10 test (tuned 2.27), packages and paths also checked on Debian 13 (2.25.1) and Ubuntu 24.04 (2.21.0).

What you will learn

  • What a tuned profile is and where the profiles live.
  • Install and enable the tuned service.
  • List the profiles and identify the active profile.
  • Let tuned recommend a profile according to the role of the machine.
  • Change the profile and verify it is applied.

What is a tuned profile

A profile groups settings aimed at one goal: maximise throughput, minimise latency, save energy. Each profile adjusts parameters such as the CPU frequency governor, disk caching or sysctl values, without you having to know them.

The profiles shipped by the distribution live under /usr/lib/tuned/profiles/; your own profiles, under /etc/tuned/profiles/. This layout comes with recent versions of tuned: on Ubuntu 24.04 (tuned 2.21.0), each profile still sits directly under /usr/lib/tuned/<name>/, and a custom profile under /etc/tuned/<name>/. A custom profile with the same name as a system profile replaces it, which lets you start from an existing profile and adjust it.

Each profile is a readable tuned.conf file. The one of throughput-performance, for example, sets vm.swappiness=10, and virtual-guest, which includes it, raises the value to 30 (read in the files): an active profile therefore often explains a sysctl value that does not match the kernel default.

Install and enable tuned

On RHEL and derivatives, tuned is often already present. Elsewhere, install it, then enable the service.

Terminal window
sudo dnf install tuned
Terminal window
sudo systemctl enable --now tuned
systemctl is-active tuned

The output must show active. All the administration then goes through a single command, tuned-adm, which talks to the daemon.

List the profiles and see the active one

tuned-adm list shows the available profiles with a description, and flags the active profile at the bottom. The list depends on the distribution: RHEL 10 ships about fifteen profiles in the tuned package and puts the others (mssql, oracle, postgresql, cpu-partitioning...) in tuned-profiles-* packages, whereas Debian and Ubuntu ship more than thirty at once:

Terminal window
tuned-adm list
Available profiles:
- balanced - General non-specialized tuned profile
- powersave - Optimize for low power consumption
- throughput-performance - Broadly applicable tuning ... common server workloads
- latency-performance - Optimize for deterministic performance ...
- virtual-guest - Optimize for running inside a virtual guest
- virtual-host - Optimize for running KVM guests
...
Current active profile: virtual-guest

To get only the current profile, use tuned-adm active, which prints a single line.

Which profile for which use

The profile names are explicit, but here are the common choices in production. They all appear in tuned-adm list on AlmaLinux 10 and Ubuntu 24.04; the Debian 13 package (tuned 2.25.1) does not ship virtual-host (measured):

Use of the machineSuitable profile
Application server, database, general server usethroughput-performance
Latency-sensitive load (real time, VoIP, trading)latency-performance or network-latency
Virtual guest machinevirtual-guest
KVM virtualisation hostvirtual-host
Workstation, laptopbalanced, or powersave on battery
Intensive computing (HPC)hpc-compute

When in doubt, balanced is the all-purpose default profile. A wrong choice breaks nothing: the worst risk is a suboptimal machine, never unstable, and a simple tuned-adm profile puts it right.

Let tuned recommend a profile

If you hesitate, tuned-adm recommend suggests the profile suited to the detected role of the machine. On a VM, it logically advises virtual-guest:

Terminal window
tuned-adm recommend
virtual-guest

It is also what tuned applies by default at the first start, through the auto_profile mode.

Change the profile

To apply a profile, pass its name to tuned-adm profile. The change is immediate and persists after reboot:

Terminal window
sudo tuned-adm profile throughput-performance
tuned-adm active
Current active profile: throughput-performance

To disable every tuned setting and go back to the default values of the system, use tuned-adm off.

Verify that a profile is applied

tuned-adm verify compares the settings in force with those expected by the active profile, and says whether they match:

Terminal window
sudo tuned-adm verify

Put it into practice

A performance profile is not judged on paper. On a disposable VM, this lab makes you install tuned, compare the suggestion of tuned-adm recommend with the active profile, then apply a new profile and check it with tuned-adm verify.

Key points

  • A tuned profile applies a consistent block of settings for a given use, without setting each parameter by hand.
  • All the administration goes through tuned-adm: list, active, recommend, profile <name>, verify, off.
  • Choose according to use: throughput-performance (server), latency-performance (real time), powersave (energy), virtual-guest (VM).
  • tuned-adm recommend suggests the profile suited to the role of the machine.
  • A profile change persists after reboot; verify can fail legitimately in a VM.

Knowledge check

Check that the essentials of this guide stuck. The questions cover only what has just been explained here.

Knowledge check

Check what you have learned with this interactive quiz

6 questions
6 min
70% to pass

How it works

  • The timer starts when you click Start
  • Multiple choice, true/false and short answer questions
  • You can move between questions
  • Detailed results are shown at the end

Starts the quiz and the timer

Is this project useful to you?

The guides, courses, quizzes and labs stay free. If you use them regularly, you can contribute to their upkeep and development.

Become a supporting member (new tab) One-time support (new tab) Learn more

Follow the project on LinkedIn