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-performanceThis is a server profile for typical throughput performance tuning. It disables
tunedandktunepower saving mechanisms, enables sysctl settings that improve the throughput performance of your disk and network I/O, and switches to the deadline scheduler. -
latency-performanceThis is a server profile for typical low-latency performance tuning that can reduce RHEL jitter caused by the OS. It disables
tunedandktunepower 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
tunedinstallable package.Refer to your RHEL distribution for the
tunedpackage and documentation on usingtuned. It is available with several RHEL distributions, including RHEL 6, CentOS 6, and Fedora. -
Install the
tunedpackage 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
tunedprofiles. 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
tuneddaemon. -
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, --daemonStarts
tunedas a daemon instead of in the foreground. -
-c, --conffileUses 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.