Presentation

Tuning a server according to specific requirements is not an easy task. You need to know a lot of system parameters and how to change them in a intelligent manner.

Red Hat offers a tool called tuned-adm that makes these changes easy by using tuning profiles.

The tuned-adm command requires the tuned package (if not already installed):

# yum install -y tuned

Tuning Profiles

A tuning profile consists in a list of system changes corresponding to a specific requirement.

To get the list of the available tuning profiles, type:

# tuned-adm list Available profiles: - balanced - desktop - latency-performance - network-latency - network-throughput - powersave - sap - throughput-performance - virtual-guest - virtual-host Current active profile: virtual-guest

Note: All these tuning profiles are explained in details in the tuned-adm man page.

To only get the active profile, type:

# tuned-adm active Current active profile: virtual-guest

To get the recommended tuning profile in your current configuration, type:

# tuned-adm recommend virtual-guest

To apply a different tuning profile (here throughput-performance), type:

# tuned-adm profile throughput-performance

Sources: tuned-adm and tuned man pages.

Profile Creation

In some cases, because changing an existing profile is not advisable, creating a new profile is the best option.

In the Red Hat Performance Brief dedicated to the SAS software, all this process is clearly described for RHEL 7 (page 12).

Go to the tuning profiles directory:

# cd /usr/lib/tuned/profiles

Note: Alternatively, you could create the /etc/tuned directory if it doesn’t already exist.

Create a new directory with the name of the profile chosen:

# mkdir sas­-performance

RHEL 7 supports class based profiles so you can inherit the characteristics of another profile (with an include statement) and then customize it further.

In the SAS case, the easiest option is to make the new profile inherit from the throughput­-performance profile.

Create a new file in the sas-­performance directory called tuned.conf and paste the following lines:

[main] include=throughput­-performance

Any changes made beyond the include statement will override the throughput­-performance profile.

Then, enable the new profile:

# tuned-­adm profile sas­-performance

Dynamic Tuning

Tuned can also dynamically adjust your configuration.

This is done through the /etc/tuned/tuned-main.conf file.

In this file, you need to assign a value of 1 to the dynamic_tuning parameter:

dynamic_tuning = 1

You then need to restart the tuned service:

# systemctl restart tuned

To get an idea of the new configuration, check the /var/log/tuned/tuned.log file:

# tail -f /var/log/tuned/tuned.log 2016-07-11 09:49:34,850 INFO tuned.daemon.application: dynamic tuning is enabled (can be overriden in plugins) 2016-07-11 09:49:34,850 INFO tuned.daemon.daemon: using sleep interval of 1 second(s) 2016-07-11 09:49:34,850 INFO tuned.daemon.daemon: dynamic tuning is enabled (can be overriden by plugins) 2016-07-11 09:49:34,850 INFO tuned.daemon.daemon: using update interval of 10 second(s) (10 times of the sleep interval) 2016-07-11 09:49:34,851 INFO tuned.profiles.loader: loading profile: virtual-guest 2016-07-11 09:49:34,855 INFO tuned.daemon.controller: starting controller 2016-07-11 09:49:34,855 INFO tuned.daemon.daemon: starting tuning ...

Source: tuned-main.conf man page.

Additional Resources

You can also: