Each profile modifies system behaviours such as maximum throughput, minimum latency, and power efficiency.
So, the administrator can switch profile without adjust configurations one by one.
List current profile
tuned-adm active
List all tuned profile
tuned-adm list
Ask system to recommend a profile
tuned-adm recommend
Change profile
tuned-adm profile [Profile]
Example: tuned-adm profile virtual-guest
virtual-guest suitable for Linux which is running inside cloud environments or hypervisors (KVM, VMware). This profile can reduces memory swappiness and optimizes disk I/O for virtualized virtual disks.
List current profile
tuned-adm active
The profile will be reset to balanced after reboot. Some Linux may become permenant settings.
Result
student@localhost:~$ tuned-adm active
Current active profile: balanced
student@localhost:~$ 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: balanced
student@localhost:~$ tuned-adm recommend
virtual-guest
student@localhost:~$ tuned-adm profile virtual-guest
student@localhost:~$ tuned-adm active
Current active profile: virtual-guest
May access /etc/tuned/tuned-main.conf
Check status of systemctl
systemctl status tuned
If tuned service not enabled, enabled and start the service : sudo systemctl enable --now tuned
Verify active profile
tuned-adm active
Verify swappiness before change profile
sysctl -a | grep swappiness
Create new profile directory
mkdir /etc/tuned/profiles/[Profile name]
Example: mkdir /etc/tuned/profiles/myprofile
Create new configuration file
sudo tee -a /etc/tuned/profiles/[Profile name]/[Configuration file name].conf <<[Stop word]
Example: sudo tee -a /etc/tuned/profiles/myprofile/tuned.conf <<STOP
Input command into configuration file
[sysctl]
vm.swappiness = [Swappiness number] Example: vm.swappiness = 66
STOP
Change profile
tuned-adm profile [Profile]
Example: tuned-adm profile myprofile
Verify active profile
tuned-adm active
Verify swappiness after change profile
sysctl -a | grep swappiness
Cleanup
tuned-adm profile balanced
rm -rf /etc/tuned/profiles/myprofile
Result
student@localhost:~$ systemctl status tuned
● tuned.service - Dynamic System Tuning Daemon
Loaded: loaded (/usr/lib/systemd/system/tuned.service; enabled; preset: enabled)
Active: active (running) since Wed 2026-08-05 10:57:07 +08; 25min ago
Invocation: e633e224abdd498bb502ec8162dda292
Docs: man:tuned(8)
man:tuned.conf(5)
man:tuned-adm(8)
Main PID: 1160 (tuned)
Tasks: 4 (limit: 22995)
Memory: 18.4M (peak: 20.3M)
CPU: 2.479s
CGroup: /system.slice/tuned.service
└─1160 /usr/bin/python3 -Es /usr/sbin/tuned -l -P
Aug 05 10:56:56 localhost.localdomain systemd[1]: Starting tuned.service - Dynamic System Tuning Daemon...
Aug 05 10:57:07 localhost.localdomain systemd[1]: Started tuned.service - Dynamic System Tuning Daemon.
student@localhost:~$ tuned-adm active
Current active profile: balanced
student@localhost:~$ sudo sysctl -a | grep swappiness
[sudo] password for student:
vm.swappiness = 60
student@localhost:~$ sudo mkdir /etc/tuned/profiles/myprofile
student@localhost:/etc/tuned$ sudo tee -a /etc/tuned/profiles/myprofile/tuned.conf <<STOP
> [sysctl]
> vm.swappiness = 66
> STOP
[sysctl]
vm.swappiness = 66
student@localhost:/etc/tuned$ tuned-adm profile myprofile
student@localhost:/etc/tuned$ tuned-adm active
Current active profile: myprofile
student@localhost:/etc/tuned$ sysctl -a | grep swappiness
vm.swappiness = 66
student@localhost:/etc/tuned$ tuned-adm profile balanced
student@localhost:/etc/tuned$ tuned-adm active
Current active profile: balanced
student@localhost:/etc/tuned$ sudo rm -rf /etc/tuned/profiles/myprofile