RHEL Performance Tuning Options
Setting tuning options can be complicated, so RedHat Enterprise Linux (RHEL) has an installable daemon, tuned
, that provides some tuning options, defined as profiles, to improve performance. This tuned
periodically collects data about hardware subsystems, such as disks, network I/O, and switches. Then, based on the option selected, tuned
dynamically adjusts system settings to raise or lower power consumption modes for these devices on your system.
Note
|
For Azul Zing Builds of OpenJDK (Zing), lower power consumption modes are detrimental to performance because if a core goes to sleep and the Garbage Collector or application has a thread that needs to run, then the cost of 'warming' up the core is expensive in time as the cache gets loaded and the pipeline is filled, etc. |
Two tuned
profiles that might be useful with your Zing installation:
-
throughput-performance
This is a server profile for typical throughput performance tuning. It disables
tuned
andktune
power saving mechanisms, enables sysctl settings that improve the throughput performance of your disk and network I/O, and switches to the deadline scheduler. -
latency-performance
This is a server profile for typical low-latency performance tuning that can reduce RHEL jitter caused by the OS. It disables
tuned
andktune
power saving mechanisms and enables sysctl settings that improve the latency performance of your network I/O.
The latency-performance
profile on RHEL can improve the max response time, depending upon the application running on Zing, by several (maybe 10s) of msec compared to the tuned default
profile.
You can set and un-set these profiles with tuned-adm
. The profiles are implemented with the tuned
daemon.
Installing the Tuned Package
Installing the tuned
package sets up a sample configuration file at /etc/tuned.conf and activates the default profile. The default power-saving profile has the lowest impact on power saving of the available profiles. It only enables CPU and disk tuned
plug-ins.
Installing tuned-utils
adds following dependencies on a standard installation:
-
systemtap-runtime
-
kernel-devel
-
systemtap
To install tuned
:
-
Obtain the
tuned
installable package.Refer to your RHEL distribution for the
tuned
package and documentation on usingtuned
. It is available with several RHEL distributions, including RHEL 6, CentOS 6, and Fedora. -
Install the
tuned
package and its associated systemtap scripts with the command:# yum install tuned
Running Tuned
To use the tuned
daemon:
-
Enable
tuned
. At the command prompt, type:# chkconfig tuned on -
Start
tuned
. At the command prompt, type:# service tuned start -
View the
tuned
profiles. At the command prompt, type:# tuned-adm listThe system response is:
Available profiles: - default - desktop-powersave - latency-performance - laptop-ac-powersave - server-powersave - laptop-battery-powersave - throughput-performance - enterprise-storage Current active profile: defaultThe profiles are implemented through the
tuned
daemon. -
Enable the desired profile. At the command prompt, type:
# tuned-adm profile <profile_name>For example:
# tuned-adm profile latency-performance Calling '/etc/ktune.d/tunedadm.sh stop': [ OK ] Stopping tuned: [ OK ] Switching to profile 'latency-performance' Applying ktune sysctl settings: /etc/ktune.d/tunedadm.conf: [ OK ] Calling '/etc/ktune.d/tunedadm.sh start': [ OK ] Applying sysctl settings from /etc/sysctl.conf
Tuned Options
tuned
has additional options that you can use when you run it manually. The available options are:
-
-d, --daemon
Starts
tuned
as a daemon instead of in the foreground. -
-c, --conffile
Uses a configuration file with the specified name and path, for example:
--conffile=/etc/tuned2.confThe default is
/etc/tuned.conf
-
-D, --debug
Uses the highest level of logging.