5 Tunedの使用
この章では、Tunedモニタリング・ツールとTunedプロファイルについて説明します。また、Tunedを使用してOracle Linuxシステムのパフォーマンスを最適化するためのタスクについても説明します。
Tunedについて
Tunedシステム・チューニング・ツールは、システムをモニターして特定の条件下でパフォーマンスを最適化するために使用します。Tunedツールは、接続されたデバイスのモニタリングにudev
デバイス・マネージャを使用することで、システム設定の静的および動的チューニングの両方を可能にします。このリリースでは、動的チューニングはデフォルトでオフになっています。動的チューニングを有効にする場合は、「Tunedの静的および動的チューニングについて」を参照してください。
Tunedでは、システムのチューニングために複数の事前定義済プロファイルを使用します。特定のユース・ケースに向けたプロファイルが用意されています。これらは、省電力プロファイルとパフォーマンス向上プロファイルの2つのカテゴリに分類されます。パフォーマンス向上のプロファイルでは、ストレージとネットワークの低レイテンシと高スループットおよび仮想化ホストのパフォーマンスに対応します。
現在使用中の製品に基づいて、自動的にデフォルト・プロファイルが設定されます。tuned-adm recommendコマンドを使用すると、特定の製品に推奨されるプロファイルを判別できます。推奨されるものがない場合は、balanced
プロファイルが設定されます。
各プロファイルに定義されているルールを変更することも、特定のプロファイルを使用することで特定のデバイスをチューニングする方法をカスタマイズすることもできます。さらに、Tunedは、デバイスの使用状況に変更があったときに、現在の設定の調整(アクティブなデバイスのパフォーマンスを向上させ、非アクティブなデバイスの電力消費を減少させる)をトリガーするように構成できます。
Tunedプロファイルについて
通常、次のTunedプロファイルは、デフォルトでOracle Linux 7にインストールされます。また、個別のパッケージからインストールすることもできます。
-
balanced
(デフォルトのプロファイル): 省電力プロファイルです。このプロファイルは、パフォーマンスと消費電力のバランスを実現します。このプロファイルでは、自動スケーリングおよび自動チューニングが使用されます(使用可能な場合)。考えられるデメリットは、レイテンシの増加です。 -
powersave
: 最大の省電力パフォーマンスを実現するプロファイルです。このプロファイルは、パフォーマンスを抑制することで、実際の電力消費を最小限に抑えることができます。ノート:
balanced
プロファイルを選択するほうが、powersave
プロファイルよりも高効率になることがあります。 -
throughput-performance
(デフォルト・プロファイル): 高スループットに向けて最適化されたサーバー・プロファイルです。このプロファイルは、省電力メカニズムを無効にして、sysctl
設定を有効にすることで、ディスクとネットワークIOのスループット・パフォーマンスを向上させます。 -
latency-performance
: 低レイテンシに向けて最適化されたサーバー・プロファイルです。このプロファイルは、省電力メカニズムを無効にして、sysctl
設定を有効にすることで、レイテンシを改善します。 -
network-latency
: 低レイテンシのネットワーク・チューニングを実現するプロファイルであり、latency-performance
プロファイルに基づいています。さらに、このプロファイルは、透過的なhuge pagesとNUMAのバランシングを無効にして、複数のネットワーク関連のsysctl
設定をチューニングします。 -
network-throughput
: スループットのネットワーク・チューニングに向けたプロファイルです。throughput-performance
プロファイルに基づいています。さらに、このプロファイルでは、カーネル・ネットワーク・バッファを増やします。 -
virtual-guest
(デフォルトのプロファイル): 仮想ゲスト用に設計されたプロファイルであり、throughput-performance
プロファイルに基づいています。このプロファイルは、仮想メモリーのスワップを減らして、ディスク先読みの値を増やします。 -
virtual-host
: 仮想ホスト用に設計されたプロファイルであり、throughput-performance
プロファイルに基づいています。このプロファイルは、仮想メモリーのスワップを減らして、ディスク先読みの値を増やし、より積極的なダーティ・ページ・ライトバック値を有効にします。 -
desktop
: デスクトップ環境に向けて最適化されプロファイルであり、balanced
プロファイルに基づいています。さらに、このプロファイルにより、対話型アプリケーションに対するスケジューラ自動グループの応答が向上します。
ノート:
システム構成と目的のユース・ケースに応じて、追加のプロファイルをインストールできます。たとえば、Oracle Linuxにリアルタイム・カーネルを使用している場合は、リアルタイム・プロファイルを使用できます。こうしたオプションのパッケージのほとんどは、ol7_optional_latest
チャネルからインストールできます。
リアルタイム・プロファイルは、コンパイル時にリアルタイム・サポートを有効にしていないカーネルには効果がありません。
現在インストール可能なすべてのプロファイルをリスト表示するには、次のコマンドを使用します。
sudo yum list tuned-profiles*
システムにデフォルトでインストールされているTunedプロファイルは、/usr/lib/tuned
ディレクトリと/etc/tuned
ディレクトリに格納されています。ディストリビューション固有のプロファイルは、/usr/lib/tuned
ディレクトリに格納されています。それぞれのプロファイルに、専用のディレクトリがあります。それぞれのプロファイル・ディレクトリは、メインの構成ファイルtuned.conf
と、その他のオプション・ファイルで構成されます。
カスタム・プロファイルを使用する場合は、そのプロファイル・ディレクトリをカスタム・プロファイルの格納場所である/etc/tuned
ディレクトリにコピーします。同じ名前のプロファイルが2つあるときには、/etc/tuned/
にあるカスタム・プロファイルが使用されます。
tuned.conf
ファイルには、1つの[main]
セクションと、プラグイン・インスタンス構成用の追加セクションを含めることができます。これに該当するセクションはオプションです。プロファイル構成の詳細は、マニュアル・ページのtuned.conf(5)
を参照してください。
デフォルトのTunedプロファイルについて
Oracle Linuxのインストール時に、デフォルトのTunedプロファイルが自動的に選択されます。選択されたデフォルトのプロファイルは、特定の環境と、その特定のユース・ケースで達成されるパフォーマンス目標に基づいています。次のデフォルトのプロファイルが用意されています。
-
throughput-performance
: コンピュート・ノードがOracle Linuxを実行している環境で使用されるプロファイルです。このプロファイルは、最高のスループット・パフォーマンスを実現します。 -
virtual-guest
: 仮想マシンがOracle Linuxを実行している環境で使用されるプロファイルです。このプロファイルは、最高のパフォーマンスを実現します。最高のパフォーマンスを目的としていない場合は、そのプロファイルをbalanced
またはpowersave
のどちらかのプロファイルに変更できます。 -
balanced
: その他のユース・ケースに使用されるプロファイルです。このプロファイルは、パフォーマンスと電力消費のバランスを実現します。
Tunedの静的および動的チューニングについて
静的チューニングでは、sysctl
やsysfs
などのシステム構成ツール用の構成ファイルで定義した設定をペレーティング・システム全体に適用します。
tuned
サービスは、そのサービスによって収集されたシステムに関する情報とシステムの現在の実行状態に関する情報に基づいて、システム・コンポーネントのアクティビティと動的にチューニングされたシステム設定をモニタリングするように構成できます。
動的チューニングは、CPU、ハード・ドライブ、ネットワーク・アダプタなどのデバイスへの負荷がアイドル時にはできるだけ電力消費が少なくなるようにしながら、高負荷時には高いスループットと低レイテンシを必要とする状況で特に役立ちます。
動的チューニングは、/etc/tuned/tuned-main.conf
設定ファイルで適切な値を設定することで有効化します。次に例を示します。
dynamic_tuning = 1
tuned
が現在のシステム状態を分析する時間間隔を秒単位で設定する必要があります。
update_interval = 10
コマンドラインからのTunedのインストールと有効化
次の手順では、Tunedのインストールと有効化の方法、Tunedプロファイルのインストール方法、Oracle Linuxシステム用のデフォルトのTunedプロファイルを事前設定する方法について説明します。
-
まだ
tuned
パッケージがインストールされていない場合は、そのパッケージをインストールしてください。sudo yum install tuned
-
tuned
サービスを有効にして起動します。sudo systemctl enable --now tuned
-
アクティブなTunedプロファイルを確認します。
sudo tuned-adm active
Current active profile: balanced
-
Tunedプロファイルがシステムに適用されていることを確認します。
sudo tuned-adm verify
Verfication succeeded, current system settings match the preset profile. See tuned log file ('/var/log/tuned/tuned.log') for details.
現在のシステム設定との不一致を示すメッセージが表示された場合は、
tuned
サービスを再起動してみてください。sudo systemctl start tuned
デーモンなしモードでのTunedの実行
no-daemon
モードでtuned
を実行する場合、常駐メモリーは不要です。ただし、このモードでサービスを実行すると、tuned
は動的チューニングを実行しなくなります。no-daemon
モードでは、tuned
は設定のみを適用して終了します。
no-daemon
モードでtuned
を実行する場合は、次の値を/etc/tuned/tuned-main.conf
設定ファイルで設定する必要があります。
daemon = 0
注意:
no-daemon
モードでtuned
を実行する場合は、デーモンを実行していないと一部の機能が動作しない点に注意してください。特に、tuned
では、D-Busサービスまたはホットプラグ・カーネル・サブシステムがサポートされなくなります。そのために、tuned
は、変更された設定ファイルの自動的なロールバックができなくなります。
TunedサービスとTunedプロファイルの管理
Tunedの管理には、tuned-admコマンドを使用します。次のタスクでは、Oracle LinuxシステムでTunedプロファイルとtuned
サービスを管理する方法について説明します。
詳細は、マニュアル・ページのtuned-adm(8)
とtuned(8)
を参照してください。
Tunedプロファイルのリスト
システムで使用可能なすべてのTunedプロファイルをリストするには、次のようにします。
sudo tuned-adm list
Available profiles: - balanced - General non-specialized tuned profile - desktop - Optimize for the desktop use-case - hpc-compute - Optimize for HPC compute workloads - latency-performance - Optimize for deterministic performance at the cost of increased power consumption - network-latency - Optimize for deterministic performance at the cost of increased power consumption, focused on low latency network performance - network-throughput - Optimize for streaming network throughput, generally only necessary on older CPUs or 40G+ networks - powersave - Optimize for low power consumption - throughput-performance - Broadly applicable tuning that provides excellent performance across a variety of common server workloads - virtual-guest - Optimize for running inside a virtual guest - virtual-host - Optimize for running KVM guests Current active profile: throughput-performance
この出力には、現在アクティブなプロファイルも表示されます。
現在アクティブなプロファイルのみを表示するには、次のようにします。
sudo tuned-adm active
Current active profile: balanced
Tunedプロファイルのアクティブ化
ノート:
Tunedプロファイルをアクティブ化するには、システムでtuned
サービスが実行されていることが必要です。
次のコマンドを使用して、特定の選択したTunedプロファイルをアクティブ化します。
sudo tuned-adm profile profile-name
Tunedが推奨する対象システムに最適なプロファイルを調べるには、tuned-adm recommendコマンドを使用します。
sudo tuned-adm recommend
virtual-guest
複数のプロファイルの組合せをアクティブ化するには、次のコマンド構文を使用します。
sudo tuned-adm profile profile1 profile2