ArticlesRocky Linux

Set the TuneD Profile via a Config File

configprofilerocky linuxsettuned

Howard Van Der Wal
Sr. Customer Success Engineer

Nov 28, 2025

Introduction

To get the most optimizations and power from your hardware in an Enterprise Linux system, utilization of TuneD and tuned-adm is paramount.

This guide will explore setting your tuned profiles via a configuration file. If you are a System Administrator that deploys pre-configured Rocky Linux images across a fleet of machines, the steps listed here will help you set a pre-configured tuned profile.

Problem

A tuned profile can be set via the CLI, for example, with tuned-adm profile hpc-compute, however, you're looking to set the profile via a configuration file.

Resolution

Designate the profile that you want set on the system. In this example, we'll be setting hpc-compute as the default profile, as we want to fully utilize the available system resources.

By default, the tuned profile that is selected when installing Rocky Linux as a virtual machine is virtual-guest. That is the default across Rocky Linux 8, 9, and 10.

For bare metal Rocky Linux installations, the default tuned profile across Rocky Linux 8, 9, and 10 is balanced.

To set a tuned profile in a configuration file, you need to use the child profile system. The main profiles are located in /usr/lib/tuned/, while the child profiles are located under /etc/tuned/. /etc/tuned/ is also where you can customize profiles.

Example configuration with hpc-compute

In this example, the bare metal node has balanced set as the default profile. We will be changing the default profile to hpc-compute and storing the change in a configuration file.

Create the directory:

mkdir /etc/tuned/balanced/

Copy the contents of /usr/lib/tuned/hpc-compute/tuned.conf into /etc/tuned/balanced/tuned.conf:

cat /usr/lib/tuned/hpc-compute/tuned.conf > /etc/tuned/balanced/tuned.conf

Through the use of child profiles, we have now transformed the default balanced profile into an hpc-compute profile.

Restart the tuned service to apply the new configuration:

systemctl restart tuned
Observe that the active profile has now been changed to `hpc-compute`:

```bash
cat /etc/tuned/balanced/tuned.conf
#
# tuned configuration
#

[main]
summary=Optimize for HPC compute workloads
description=Configures virtual memory, CPU governors, and network settings for HPC compute workloads.
include=latency-performance

[vm]
# Most HPC applications can take advantage of hugepages. Force them to on.
transparent_hugepages=always

[disk]
# Increase the readahead value to support large, contiguous, files.
readahead=>4096

[sysctl]
# Keep a reasonable amount of memory free to support large mem requests
vm.min_free_kbytes=135168

# Most HPC applications are NUMA aware. Enabling zone reclaim ensures
# memory is reclaimed and reallocated from local pages. Disabling
# automatic NUMA balancing prevents unwanted memory unmapping.
vm.zone_reclaim_mode=1
kernel.numa_balancing=0

# Busy polling helps reduce latency in the network receive path
# by allowing socket layer code to poll the receive queue of a
# network device, and disabling network interrupts.
# busy_read value greater than 0 enables busy polling. Recommended
# net.core.busy_read value is 50.
# busy_poll value greater than 0 enables polling globally.
# Recommended net.core.busy_poll value is 50.
net.core.busy_read=50
net.core.busy_poll=50

# TCP fast open reduces network latency by enabling data exchange
# during the sender's initial TCP SYN. The value 3 enables fast open
# on client and server connections.
net.ipv4.tcp_fastopen=3
  • In the above example, running tuned-adm active will still show the profile as balanced, but in fact will be set to the hpc-compute configuration instead.

References & Related Articles

Rocky Linux tuned man page Rocky Linux tuned-adm man page