目次


Red Hat Enterprise Linux (RHEL) 7.x および CentOS 7.x に含まれる tuned デーモンのプロファイル

tuned デーモンの Throughput-performance プロファイルと Balanced プロファイルとの違い

Comments

はじめに

tuned デーモンでは udev デーモンを使用して、接続されたデバイスをモニタリングし、選択されたプロファイルに応じて静的および動的にシステム設定をチューニングします。tuned デーモンには一般的な使用ケース向けに事前定義された Throughput-performance、Balanced、Virtual-guest などのプロファイルが付属しています。こうした定義済みプロファイルとは別に、システム管理者がワークロードに応じたカスタム・プロファイルを作成することもできます。

Red Hat Enterprise Linux (RHEL) バージョン 7 オペレーティング・システムでは、デフォルトで Throughput-performance プロファイルが使用されます。仮想マシンの場合には Virtual-guest プロファイルが選択され、その他すべてのケースでは Balanced プロファイルが選択されます。CentOS 7.x オペレーティング・システムでは、Balanced がデフォルトのプロファイルとして使用されます。tuned デーモンでは一連のルールに従って、プロファイルのいずれかをデフォルト・プロファイルとして推奨または選択します。これらのルールでは正規表現を使用して /etc/system-release-cpe ファイル内で文字列 computenode|server を突き合わせるとともに、virt-what コマンドの出力も使用します。最初の式が true であり、virt-what コマンドの出力が空であれば、Throughput-performance プロファイルが推奨されます。virt-what コマンドの出力に仮想マシンに関するデータが表示されている場合は、Virtual-guest プロファイルが推奨されます。この 2 つのルールのどちらにも適合する場合は、tuned デーモン内で使用するデフォルト・ファイルとして Balanced プロファイルが選択されます。

Throughput-performance プロファイル

ノードとして機能するオペレーティング・システムを搭載したシステムであれば、目指しているのは最良のスループット・パフォーマンスです。Throughput-performance プロファイルは、高スループットを達成するように最適化された、サーバー・プロファイルです。このプロファイルでは、省電力メカニズムが無効にされ、ディスクとネットワーク I/O のパフォーマンスを向上させる sysctl 設定が有効にされて、deadline スケジューラーに切り替えられます。CPU ガバナー・パラメーターは、performance に設定されます。

Balanced プロファイル

このプロファイルで目標とされているのは、パフォーマンスと電力消費のバランスを取ることです。そのためのソリューションとして、このプロファイルでは可能な限り自動スケーリングと自動チューニングが使用されます。この手法により、ほとんどの負荷について有効な結果がもたらされますが、レイテンシーが増加するという欠点があります。

このプロファイルではプロセッサー、ディスク、音声、動画のプラグインが有効になり、CPU の周波数を制御する on-demand ガバナー・ポリシーがアクティブになります。Radeon ビデオ・グラフィック・カードの radeon_powersave パラメーターは auto に設定されます。

これらのプロファイルは、tuned-adm コマンドを使用して変更または切り替えることができます。このコマンドは、たとえば tuned-adm profile <プロファイル> といったように実行します。このように、ワークロードに最適なプロファイルを選択できるようになっています。仮想システム以外のシステムでは、Throughput-performanceBalanced がデフォルトのプロファイルとなります。

Virtual-guest プロファイル

仮想マシン用に最適化されたプロファイルです。このプロファイルの設定では、仮想メモリーの swappiness パラメーターの値が大きくされ、ディスクの read-ahead パラメーターの値が小さくされています。

プロファイルのパラメーターの比較

以上のプロファイルの間で異なるシステム・パラメーターのいくつかについて、次の表で比較します。

表 1. プロファイルのパラメーターの比較
システム・パラメーターThroughput-performance プロファイルでのデフォルト値Balanced プロファイルでのデフォルト値説明
kernel.sched_wakeup_granularity_ns15 マイクロ秒/B5s20 マイクロ秒/B5sアクティブにされているタスクが現行タスクをプリエンプトする能力。このパラメーターを大きい値に設定すると、他のタスクがプリエンプションを強制するのが難しくなります。このパラメーターは過密スケジュールを軽減するために使用されます。このパラメーターの値を小さくすると、ウェイクアップ遅延が減少します。ただし、頻繁に切り替えが行われることになります。
kernel.sched_min_granularity_ns10 マイクロ秒15 マイクロ秒タスクがプリエンプト対象となるまでの最小時間。このパラメーターは、プリエンプトせずにタスクを実行できる期間を制御します。このパラメーターには、レイテンシーに影響されやすいタスク (またはスレッド数が多い場合) には小さい値を設定し、計算主体またはスループット志向のワークロードには大きい値を設定します。
vm.dirty_ratio40%20%MemTotal (使用可能なメモリーの合計) のうち、ダーティー・ページに使用できる割合を表します。この値に達すると、すべてのプロセスがダーティー・バッファーをディスクに書き込みます。また、ダーティー・ページが消去されるまで、すべての新しい書き込み処理に対して I/O が全面的にブロックされます。このパラメーターを小さい値に設定すると、カーネルは小規模な書き込み処理の結果を頻繁に消去することになります。一方、このパラメーターを大きい値に設定すると、小規模な書き込み処理の結果がメモリー内に蓄積されていきます。
vm.swappiness1060このパラメーターを大きい値に設定すると、ファイル・システムのパフォーマンスが向上する一方、メモリー・スワップが頻繁に行われるため、それほどアクティブでないプロセスが RAM 不足になります。小さい値に設定すると、スワップ・プロセスのメモリー不足を回避できます。その結果、I/O パフォーマンスを犠牲にしてレイテンシーが低下することが一般的です。インタラクティブなアプリケーションには、このパラメーターを小さい値にしてレスポンスのレイテンシーを小さくすると功を奏します。
CPU ガバナーperformance (プロセッサーの周波数を、scaling_min_freq パラメーターと scaling_max_freq パラメーターの範囲内で最大の値に静的に設定) ondemand (プロセッサーの周波数を、現在のシステム負荷に応じて設定)プロセッサーは、要件に基づいてその周波数を増減します。performance ガバナー・パラメーターは、周波数を一定の高い値に維持します。負荷に応じて周波数を変えることはしません。パフォーマンスには最適ですが、電力消費量が増えます。ondemand パラメーターの値は、ワークロードに応じて周波数を迅速に上げますが、ワークロードが完了すると、徐々に周波数を下げていきます。

リソース


ダウンロード可能なリソース


コメント

コメントを登録するにはサインインあるいは登録してください。

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=60
Zone=Linux
ArticleID=1064286
ArticleTitle=Red Hat Enterprise Linux (RHEL) 7.x および CentOS 7.x に含まれる tuned デーモンのプロファイル
publish-date=01172019