Visit Azul.com Support

RHEL Performance Tuning Options

Table of Contents

Looking for Zing? The Azul Zing Virtual Machine is now Azul Zulu Prime Builds of OpenJDK and part of Azul Platform Prime. Learn more.

Setting tuning options can be complicated, so RedHat Enterprise Linux (RHEL) has an installable daemon, t`uned, that provides some tuning options, defined as profiles, to improve performance. 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 Zulu Prime Builds of OpenJDK (Azul Zulu Prime JVM), 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 Azul Zulu Prime JVM installation:

  • throughput-performance

    This is a server profile for typical throughput performance tuning. It disables tuned and ktune 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 and ktune 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 Azul Zulu Prime JVM, by several (maybe 10s) of msec compared to 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

nstalling 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:

  1. Obtain the tuned installable package.

    Refer to your RHEL distribution for the tuned package and documentation on using tuned. It is available with several RHEL distributions, including RHEL 6, CentOS 6, and Fedora.

  2. Install the tuned package and its associated systemtap scripts with the command:

     # yum install tuned 

Running Tuned

To use the tuned daemon:

  1. Enable tuned. At the command prompt, type:

     # chkconfig tuned on 
  2. Start tuned. At the command prompt, type:

     # service tuned start 
  3. View the tuned profiles. At the command prompt, type:

     # tuned-adm list 

    The 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: default 

    The profiles are implemented through the tuned daemon.

  4. 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.conf 

    The default is /etc/tuned.conf

  • -D, --debug

    Uses the highest level of logging.

Automatically Starting Tuned

To start tuned every time the machine boots, at the command prompt, type:

 # chkconfig tuned on 

Disabling All Tuning

You can turn off the tuned profiles, use the tuned-adm command. At the command prompt, type:

 # - tuned-adm off 

This disables all tuned profiles.