Preprovisioned tuning profiles#

user1@rhel10-vm2:~$ ls /usr/lib/tuned/profiles
accelerator-performance  balanced          desktop      intel-sst            network-latency     optimize-serial-console  throughput-performance  virtual-host
aws                      balanced-battery  hpc-compute  latency-performance  network-throughput  powersave                virtual-guest
user1@rhel10-vm2:~$

Verify and change tuning profiles#

Verify that the tuned service is installed with DNF:

user1@rhel10-vm2:~$ dnf list --installed | grep tuned
tuned.noarch                                   2.25.1-2.el10_0                @rhel-10-for-x86_64-baseos-rpms   

Verify the status of the service with systemctl:

user1@rhel10-vm2:~$ systemctl status tuned
● tuned.service - Dynamic System Tuning Daemon
     Loaded: loaded (/usr/lib/systemd/system/tuned.service; enabled; preset: enabled)
     Active: active (running) since Fri 2026-08-21 19:29:51 CEST; 1h 15min ago
 Invocation: fa8cec68b5b449ee9d4f13e2ef0a4618
       Docs: man:tuned(8)
             man:tuned.conf(5)
             man:tuned-adm(8)
   Main PID: 936 (tuned)
      Tasks: 4 (limit: 10680)
     Memory: 17.7M (peak: 19.7M)
        CPU: 952ms
     CGroup: /system.slice/tuned.service
             └─936 /usr/bin/python3 -Es /usr/sbin/tuned -l -P

Warning: some journal files were not opened due to insufficient permissions.
user1@rhel10-vm2:~$

Display the list of available tuning profiles:

user1@rhel10-vm2:~$ tuned-adm list
Available profiles:
- accelerator-performance     - Throughput performance based tuning with disabled higher latency STOP states
- aws                         - Optimize for aws ec2 instances
- balanced                    - General non-specialized tuned profile
- balanced-battery            - Balanced profile biased towards power savings changes for battery
- desktop                     - Optimize for the desktop use-case
- hpc-compute                 - Optimize for HPC compute workloads
- intel-sst                   - Configure for Intel Speed Select Base Frequency
- latency-performance         - Optimize for deterministic performance at the cost of increased power consumption
- network-latency             - Optimize for deterministic performance at the cost of increased power consumption, focused on low latency network performance
- network-throughput          - Optimize for streaming network throughput, generally only necessary on older CPUs or 40G+ networks
- optimize-serial-console     - Optimize for serial console use.
- powersave                   - Optimize for low power consumption
- throughput-performance      - Broadly applicable tuning that provides excellent performance across a variety of common server workloads
- virtual-guest               - Optimize for running inside a virtual guest
- virtual-host                - Optimize for running KVM guests
Current active profile: virtual-guest
user1@rhel10-vm2:~$

Getting help:

user1@rhel10-vm2:~$ tuned-adm --help
usage: tuned-adm [-h] [--version] [--debug] [--async] [--timeout TIMEOUT] [--loglevel LOGLEVEL]
                 {list,active,off,profile,profile_info,recommend,verify,auto_profile,profile_mode,instance_acquire_devices,get_instances,instance_get_devices} ...

Manage tuned daemon.

positional arguments:
  {list,active,off,profile,profile_info,recommend,verify,auto_profile,profile_mode,instance_acquire_devices,get_instances,instance_get_devices}
    list                list available profiles or plugins (by default profiles)
    active              show active profile
    off                 switch off all tunings
    profile             switch to a given profile, or list available profiles if no profile is given
    profile_info        show information/description of given profile or current profile if no profile is specified
    recommend           recommend profile
    verify              verify profile
    auto_profile        enable automatic profile selection mode, switch to the recommended profile
    profile_mode        show current profile selection mode
    instance_acquire_devices
                        acquire devices from other instances and assign them to the given instance
    get_instances       list active instances of a given plugin or all active instances if no plugin is specified
    instance_get_devices
                        list devices assigned to a given instance

options:
  -h, --help            show this help message and exit
  --version, -v         show program's version number and exit
  --debug, -d           show debug messages
  --async, -a           with dbus do not wait on commands completion and return immediately
  --timeout TIMEOUT, -t TIMEOUT
                        with sync operation use specific timeout instead of the default 600 second(s)
  --loglevel LOGLEVEL, -l LOGLEVEL
                        level of log messages to capture (one of debug, info, warn, error, console, none). Default: console
user1@rhel10-vm2:~$
user1@rhel10-vm2:~$ tuned-adm active
Current active profile: virtual-guest
user1@rhel10-vm2:~$ tuned-adm profile network-throughput
Unable to switch profile: Unauthorized
user1@rhel10-vm2:~$ sudo tuned-adm profile network-throughput
[sudo] password for user1: 
user1@rhel10-vm2:~$ 
user1@rhel10-vm2:~$ tuned-adm active
Current active profile: network-throughput

Verify the recommended tuning profile:

user1@rhel10-vm2:~$ tuned-adm recommend
virtual-guest

Trying to turn off tuning profiles:

user1@rhel10-vm2:~$ tuned-adm off
Cannot disable active profile.
user1@rhel10-vm2:~$ tuned-adm verify
Verification succeeded, current system settings match the preset profile.
See TuneD log file ('/var/log/tuned/tuned.log') for details.
user1@rhel10-vm2:~$ sudo tuned-adm off
user1@rhel10-vm2:~$ 
user1@rhel10-vm2:~$ tuned-adm verify
Verification failed, current system settings differ from the preset profile.
You can mostly fix this by restarting the TuneD daemon, e.g.:
  systemctl restart tuned
or
  service tuned restart
Sometimes (if some plugins like bootloader are used) a reboot may be required.
See TuneD log file ('/var/log/tuned/tuned.log') for details.
user1@rhel10-vm2:~$ tuned-adm active
No current active profile.
user1@rhel10-vm2:~$ 

Even when no tuning profile is active, the tuned service unit is still active:

user1@rhel10-vm2:~$ systemctl status tuned
● tuned.service - Dynamic System Tuning Daemon
     Loaded: loaded (/usr/lib/systemd/system/tuned.service; enabled; preset: enabled)
     Active: active (running) since Fri 2026-08-21 19:29:51 CEST; 1h 18min ago
 Invocation: fa8cec68b5b449ee9d4f13e2ef0a4618
       Docs: man:tuned(8)
             man:tuned.conf(5)
             man:tuned-adm(8)
   Main PID: 936 (tuned)
      Tasks: 2 (limit: 10680)
     Memory: 17.9M (peak: 20.8M)
        CPU: 1.088s
     CGroup: /system.slice/tuned.service
             └─936 /usr/bin/python3 -Es /usr/sbin/tuned -l -P

Warning: some journal files were not opened due to insufficient permissions.
user1@rhel10-vm2:~$ sudo tuned-adm recommend
virtual-guest
user1@rhel10-vm2:~$ tuned-adm profile virtual-guest
Unable to switch profile: Unauthorized
user1@rhel10-vm2:~$ sudo tuned-adm profile virtual-guest
user1@rhel10-vm2:~$ 
user1@rhel10-vm2:~$ tuned-adm active
Current active profile: virtual-guest
user1@rhel10-vm2:~$ cat /var/log/tuned/tuned.log | tail -n 15
2026-08-21 20:48:22,006 INFO     tuned.plugins.plugin_vm: Setting option 'dirty_ratio' to '20'
2026-08-21 20:48:30,092 ERROR    tuned.daemon.daemon: TuneD is not running
2026-08-21 20:49:25,138 INFO     tuned.exports.dbus_exporter: action 'com.redhat.tuned.log_capture_start' requested by caller ':1.55' wasn't authorized, ignoring the request
2026-08-21 20:49:25,148 INFO     tuned.exports.dbus_exporter: action 'com.redhat.tuned.switch_profile' requested by caller ':1.55' wasn't authorized, ignoring the request
2026-08-21 20:49:30,990 INFO     tuned.profiles.loader: loading profile: virtual-guest
2026-08-21 20:49:30,992 INFO     tuned.daemon.daemon: starting tuning
2026-08-21 20:49:30,993 INFO     tuned.plugins.base: instance cpu: assigning devices cpu1, cpu0
2026-08-21 20:49:30,994 INFO     tuned.plugins.plugin_cpu: We are running on an x86 GenuineIntel platform
2026-08-21 20:49:30,994 WARNING  tuned.plugins.plugin_cpu: your CPU doesn't support MSR_IA32_ENERGY_PERF_BIAS, ignoring CPU energy performance bias
2026-08-21 20:49:30,995 INFO     tuned.plugins.base: instance disk: assigning devices vda, dm-0, dm-1
2026-08-21 20:49:30,996 WARNING  tuned.plugins.base: instance video: no matching devices available
2026-08-21 20:49:30,996 INFO     tuned.plugins.plugin_vm: Setting option 'dirty_ratio' to '30'.
2026-08-21 20:49:30,996 INFO     tuned.plugins.plugin_vm: Not setting option 'dirty_background_ratio' to '10', already set.
2026-08-21 20:49:31,044 INFO     tuned.plugins.plugin_sysctl: reapplying system sysctl
2026-08-21 20:49:31,045 INFO     tuned.daemon.daemon: static tuning from profile 'virtual-guest' applied
user1@rhel10-vm2:~$