TuneD is a daemon that applies performance tuning profiles to a Linux system. Instead of hand-editing dozens of kernel parameters, CPU governors, disk schedulers, and sysctls, you activate a profile — throughput-performance, latency-performance, powersave, virtual-guest, and more — and TuneD applies a coherent, tested set of settings. It can also recommend a profile based on the machine’s role and adapt dynamically. It is standard on RHEL/Fedora and available across distros.
Installation
| Platform | Command |
|---|
| RHEL/Fedora | sudo dnf install tuned (often preinstalled) |
| Debian/Ubuntu | sudo apt install tuned |
| Enable service | sudo systemctl enable --now tuned |
| Verify | tuned-adm --version |
Core Commands (tuned-adm)
| Command | Description |
|---|
tuned-adm active | Show the currently active profile |
tuned-adm list | List all available profiles |
tuned-adm profile NAME | Switch to a profile |
tuned-adm recommend | Recommend a profile for this system |
tuned-adm profile_info NAME | Show what a profile does |
tuned-adm off | Disable tuning (revert) |
tuned-adm verify | Check that settings are applied |
Common Built-in Profiles
| Profile | Optimizes for |
|---|
balanced | General-purpose default |
throughput-performance | Max throughput (servers, HPC) |
latency-performance | Low, deterministic latency |
network-latency | Latency-sensitive networking |
network-throughput | High network throughput |
powersave | Battery/energy saving |
virtual-guest / virtual-host | VMs / hypervisors |
desktop | Interactive desktop use |
# Put a database server into throughput mode
sudo tuned-adm profile throughput-performance
tuned-adm active
What a Profile Changes
| Area | Examples |
|---|
| CPU | Governor (performance/powersave), C-states, energy perf bias |
| Disk | I/O scheduler, readahead |
| Kernel | sysctl (vm.swappiness, net buffers, dirty ratios) |
| Power | ALPM, USB autosuspend |
| Transparent Huge Pages | enable/disable |
tuned-adm profile_info throughput-performance shows the exact settings.
Custom Profiles
Profiles live in /etc/tuned/ (custom) and /usr/lib/tuned/ (stock). You can create one that inherits a stock profile and overrides a few values.
# /etc/tuned/myapp/tuned.conf
[main]
include=throughput-performance
[cpu]
governor=performance
[sysctl]
vm.swappiness=10
net.core.somaxconn=4096
[vm]
transparent_hugepages=never
sudo tuned-adm profile myapp
| Section | Controls |
|---|
[main] include= | Base profile to inherit |
[cpu] | Governor, energy bias |
[sysctl] | Kernel parameters |
[disk] | Scheduler, readahead |
[vm] | THP, dirty ratios |
Dynamic Tuning & Roles
| Feature | Note |
|---|
recommend | Picks a profile from hardware/role heuristics |
| Dynamic tuning | Adjusts some settings based on load |
no-daemon mode | Apply once without the daemon |
| Plugins | Monitor/tuning plugins per subsystem |
Verifying & Reverting
# Confirm settings actually took effect
sudo tuned-adm verify
# See what changed vs baseline
tuned-adm profile_info $(tuned-adm active | awk '{print $NF}')
# Revert all tuning
sudo tuned-adm off
TuneD vs Manual Tuning
| Aspect | TuneD | Hand-editing sysctl/governors |
|---|
| Coherence | Tested, coherent profile sets | Ad-hoc, error-prone |
| Switchable | One command | Manual revert |
| Custom | Inherit + override | Full manual |
| Best for | Repeatable, role-based tuning | One-off deep tweaks |
TuneD sets governors via the same mechanism as cpupower; for NUMA placement pair with numactl.
Resources