A.5. tuned-adm
tuned-adm is a command line tool that enables you to switch between Tuned profiles to improve performance in a number of specific use cases. It also provides the
tuned-adm recommend
sub-command that assesses your system and outputs a recommended tuning profile.
As of Red Hat Enterprise Linux 7, Tuned includes the ability to run any shell command as part of enabling or disabling a tuning profile. This allows you to extend Tuned profiles with functionality that has not been integrated into Tuned yet.
Red Hat Enterprise Linux 7 also provides the
include
parameter in profile definition files, allowing you to base your own Tuned profiles on existing profiles.
The following tuning profiles are provided with Tuned and are supported in Red Hat Enterprise Linux 7.
- throughput-performance
- A server profile focused on improving throughput. This is the default profile, and is recommended for most systems.This profile favors performance over power savings by setting
intel_pstate
andmin_perf_pct=100
. It enables transparent huge pages and uses cpupower to set theperformance
cpufreq governor. It also setskernel.sched_min_granularity_ns
to10
μs,kernel.sched_wakeup_granularity_ns
to15
μs, andvm.dirty_ratio
to40
%. - latency-performance
- A server profile focused on lowering latency. This profile is recommended for latency-sensitive workloads that benefit from c-state tuning and the increased TLB efficiency of transparent huge pages.This profile favors performance over power savings by setting
intel_pstate
andmax_perf_pct=100
. It enables transparent huge pages, uses cpupower to set theperformance
cpufreq governor, and requests acpu_dma_latency
value of1
. - network-latency
- A server profile focused on lowering network latency.This profile favors performance over power savings by setting
intel_pstate
andmin_perf_pct=100
. It disables transparent huge pages, and automatic NUMA balancing. It also uses cpupower to set theperformance
cpufreq governor, and requests acpu_dma_latency
value of1
. It also setsbusy_read
andbusy_poll
times to50
μs, andtcp_fastopen
to3
. - network-throughput
- A server profile focused on improving network throughput.This profile favors performance over power savings by setting
intel_pstate
andmax_perf_pct=100
and increasing kernel network buffer sizes. It enables transparent huge pages, and uses cpupower to set theperformance
cpufreq governor. It also setskernel.sched_min_granularity_ns
to10
μs,kernel.sched_wakeup_granularity_ns
to 15 μs, andvm.dirty_ratio
to40
%. - virtual-guest
- A profile focused on optimizing performance in Red Hat Enterprise Linux 7 virtual machines as well as VMware guests.This profile favors performance over power savings by setting
intel_pstate
andmax_perf_pct=100
. It also decreases the swappiness of virtual memory. It enables transparent huge pages, and uses cpupower to set theperformance
cpufreq governor. It also setskernel.sched_min_granularity_ns
to10
μs,kernel.sched_wakeup_granularity_ns
to 15 μs, andvm.dirty_ratio
to40
%. - virtual-host
- A profile focused on optimizing performance in Red Hat Enterprise Linux 7 virtualization hosts.This profile favors performance over power savings by setting
intel_pstate
andmax_perf_pct=100
. It also decreases the swappiness of virtual memory. This profile enables transparent huge pages and writes dirty pages back to disk more frequently. It uses cpupower to set theperformance
cpufreq governor. It also setskernel.sched_min_granularity_ns
to10
μs,kernel.sched_wakeup_granularity_ns
to 15 μs,kernel.sched_migration_cost
to5
μs, andvm.dirty_ratio
to40
%. cpu-partitioning
- The
cpu-partitioning
profile partitions the system CPUs into isolated and housekeeping CPUs. To reduce jitter and interruptions on an isolated CPU, the profile clears the isolated CPU from user-space processes, movable kernel threads, interrupt handlers, and kernel timers.A housekeeping CPU can run all services, shell processes, and kernel threads.You can configure thecpu-partitioning
profile in the/etc/tuned/cpu-partitioning-variables.conf
file. The configuration options are:isolated_cores=cpu-list
- Lists CPUs to isolate. The list of isolated CPUs is comma-separated or the user can specify the range. You can specify a range using a dash, such as
3-5
. This option is mandatory. Any CPU missing from this list is automatically considered a housekeeping CPU. no_balance_cores=cpu-list
- Lists CPUs which are not considered by the kernel during system wide process load-balancing. This option is optional. This is usually the same list as
isolated_cores
.
For more information oncpu-partitioning
, see the tuned-profiles-cpu-partitioning(7) man page.
For detailed information about the power saving profiles provided with
tuned-adm,
see the Red Hat Enterprise Linux 7 Power Management Guide.
For detailed information about using
tuned-adm
, see the man page:
$ man tuned-adm