A.6. tuned-adm

tuned-adm はいくつか特定の使用事例でパフォーマンスを改善できる数種類のプロファイルを提供しているコマンドラインツールです。また、システムの評価を行い推奨チューニングプロファイルを出力するサブコマンド (tuned-adm recommend) も提供しています。このサブコマンドはインストール時にシステムのデフォルトプロファイルを設定するためデフォルトのプロファイルに戻りたい場合に使用することができます。
Red Hat Enterprise Linux 7 からはチューニングプロファイルの有効化または無効化の一部として tuned-adm にコマンドを実行できる機能が含まれるようになります。これにより適用するチューニングプロファイルを選択する前にシステムがマスターのデータベースノードかどうかをチェックするなど tuned-adm では利用できない環境固有のチェックを追加できるようになります。
また、Red Hat Enterprise Linux 7 ではプロファイル定義ファイルに include パラメーターが用意されるため、既存のプロファイルに基づいて独自の tuned-adm プロファイルを使用できるようになります。
tuned-adm では以下のようなチューニングプロファイルが提供され、また Red Hat Enterprise Linux 7 で対応しています。
throughput-performance
処理能力の改善に焦点をあてたサーバープロファイルになります。デフォルトのプロファイルでほとんどのシステムに推奨となります。
このプロファイルでは、intel_pstatemin_perf_pct=100 を設定することにより、節電よりもパフォーマンスが優先されます。Transparent Huge Page が有効になり、cpupower を使用して performance cpufreq ガバナーが設定され、入出力スケジューラーが deadline に設定されます。また、kernel.sched_min_granularity_ns10 μs、kernel.sched_wakeup_granularity_ns が、15 μs、vm.dirty_ratio40% に設定されます。
latency-performance
待ち時間の短縮に焦点をあてたサーバープロファイルです。c-state チューニングや Transparent Huge Page の TLB 効率性の改善を目的とする待ち時間に制約のある作業負荷に推奨のプロファイルです。
intel_pstatemax_perf_pct=100 を設定して節電よりパフォーマンスを重視します。透過的な大規模ページを有効にし、cpupower を使って performance cpufreq ガバナーを設定、cpu_dma_latency 値に 1 を要求します。
network-latency
ネットワークの待ち時間短縮に焦点をあてたサーバープロファイルです。
このプロファイルでは、intel_pstatemin_perf_pct=100 を設定することにより、節電よりパフォーマンスが優先されます。透過的な巨大ページと NUMA 自動負荷分散が無効になります。また、cpupower を使用して performance cpufreq ガバナーが設定され、1cpu_dma_latency 値が要求されます。さらに、busy_readbusy_poll の時間が 50 μs、tcp_fastopen3 に設定されます。
network-throughput
ネットワーク処理能力の改善に焦点をあてたサーバープロファイルです。
intel_pstatemax_perf_pct=100 を設定しカーネルのネットワークバッファサイズを大きくして節電よりパフォーマンスを重視します。透過的な大規模ページを有効にし、cpupower を使って performance cpufreq ガバナーを設定します。また、kernel.sched_min_granularity_ns10 μs に kernel.sched_wakeup_granularity_ns を 15 μs に vm.dirty_ratio40% にそれぞれ設定します。
virtual-guest
Red Hat Enterprise Linux 7 仮想マシンと VMware ゲストでのパフォーマンスの最適化に焦点をあてたプロファイルです。
intel_pstatemax_perf_pct=100 を設定して節電よりパフォーマンスを重視します。また仮想マシンの swap を低減します。透過的な大規模ページを有効にし、cpupower を使って performance cpufreq ガバナーを設定します。kernel.sched_min_granularity_ns10 μs に kernel.sched_wakeup_granularity_ns を 15 μs に vm.dirty_ratio40% にそれぞれ設定します。
virtual-host
Red Hat Enterprise Linux 7 仮想ホストでのパフォーマンスの最適化に焦点をあてたプロファイルです。
intel_pstatemax_perf_pct=100 を設定して節電よりパフォーマンスを重視します。また仮想マシンの swap を低減します。透過的な大規模ページを有効にしダーティーなページをより頻繁にディスクに書き戻します。cpupower を使って performance cpufreq ガバナーを設定します。kernel.sched_min_granularity_ns10 μs に kernel.sched_wakeup_granularity_ns を 15 μs に kernel.sched_migration_cost5 μs に vm.dirty_ratio40% にそれぞれ設定します。
tuned-adm で提供される節電プロファイルについては『Red Hat Enterprise Linux 7 電力管理ガイド』 (https://access.redhat.com/documentation/ja-jp/red_hat_enterprise_linux/) を参照してください。
tuned-adm の使い方については man ページをご覧ください。
$ man tuned-adm