3.2. tuned と tuned-adm によるパフォーマンスチューニング

tuned チューニングサービスを使用すると、チューニングプロファイルを設定して特定の負荷でのオペレーティングシステムのパフォーマンスを向上させることができます。tuned-adm コマンドラインツールを使用すると、異なるチューニングプロファイルをユーザーが切り替えることができます。

tuned プロファイルの概要

一般的なユースケースに利用できる事前定義済みのプロファイルがいくつか用意されていますが、tuned を使用すると、カスタムのプロファイルを定義することもできます。事前に定義されているプロファイルをベースとしてカスタマイズすることも新規に作成することもできます。Red Hat Enterprise Linux 7 ではデフォルトのプロファイルは throughput-performance です。
tuned で提供されるプロファイルは power-saving プロファイルと performance-boosting プロファイルの 2 種類のカテゴリーに分かれます。performance-boosting プロファイルの場合は、次の側面に焦点が置かれます。
  • ストレージおよびネットワークに対して少ない待ち時間
  • ストレージおよびネットワークの高い処理能力
  • 仮想マシンのパフォーマンス
  • 仮想化ホストのパフォーマンス

tuned ブートローダープラグイン

tuned Bootloader plug-in を使用すると、パラメーターをカーネル (ブートまたは dracut) コマンドラインに追加できます。GRUB 2 ブートローダーのみがサポートされ、プロファイルの変更を適用するには再起動が必要なことに注意してください。たとえば、quiet パラメーターを tuned プロファイルに追加するには、tuned.conf ファイルに次の行を含めます。
[bootloader]
cmdline=quiet
別のプロファイルに切り替えたり、tuned を手動で停止すると、追加パラメーターが削除されます。システムをシャットダウンまたは再起動すると、パラメーターは grub.cfg ファイルで永続化されます。

環境変数と展開 tuned 組み込み関数

GRUB 2 設定を更新したあとに tuned-adm profile profile_namegrub2-mkconfig -o profile_path を実行すると、Bash 環境変数を使用できます。Bash 環境変数は grub2-mkconfig の実行後に展開されます。たとえば、次の環境変数は nfsroot=/root に展開されます。
[bootloader]
cmdline="nfsroot=$HOME"
環境変数の代わりに tuned 変数を使用できます。次の例では、${isolated_cores}1,2 に展開され、カーネルは isolcpus=1,2 パラメーターで起動します。
[variables]
isolated_cores=1,2

[bootloader]
cmdline=isolcpus=${isolated_cores}
次の例では、${non_isolated_cores}0,3-5 に展開され、cpulist_invert 組み込み関数が 0,3-5 引数で呼び出されます。
[variables]
non_isolated_cores=0,3-5

[bootloader]
cmdline=isolcpus=${f:cpulist_invert:${non_isolated_cores}}
cpulist_invert 関数は CPU の一覧を反転します。6 CPU のマシンでは、反転が 1,2 になり、カーネルは isolcpus=1,2 コマンドラインパラメーターで起動されます。
tuned 環境変数を使用すると、必要な入力作業が減少します。また、tuned 変数とともにさまざまな組み込み関数を使用することもできます。組み込み関数で満足できない場合は、Python でカスタム関数を作成してプラグインという形で tuned に追加できます。tuned プロファイルがアクティベートされた場合、変数と組み込み関数は実行時に展開されます。
変数は個別のファイルで指定できます。たとえば、次の行を tuned.conf に追加できます。
[variables]
include=/etc/tuned/my-variables.conf

[bootloader]
cmdline=isolcpus=${isolated_cores}
isolated_cores=1,2/etc/tuned/my-variables.conf ファイルに追加する場合、カーネルは isolcpus=1,2 パラメーターで起動されます。

デフォルトのシステム tuned プロファイルの変更

デフォルトのシステム tuned プロファイルを変更するには 2 つの方法があります。1 つは新しい tuned プロファイルディレクトリーを作成する方法であり、もう 1 つはシステムプロファイルのディレクトリーをコピーして、必要に応じてプロファイルを編集する方法です。

手順3.1 新しい tuned プロファイルディレクトリーの作成

  1. /etc/tuned/ で、作成するプロファイルと同じ名前の新しいディレクトリーを作成します (/etc/tuned/my_profile_name/)。
  2. 新しいディレクトリーで、tuned.conf という名前のファイルを作成し、次の行を先頭に含めます。
    [main]
    include=profile_name
  3. プロファイルの変更を含めます。たとえば、vm.swappiness の値がデフォルトの 10 ではなく 5 に設定された状態で、throughput-performance プロファイルから設定を使用するには、次の行を含めます。
    [main]
    include=throughput-performance
    
    [sysctl]
    vm.swappiness=5
  4. プロファイルをアクティベートするには、次のコマンドを実行します。
    # tuned-adm profile my_profile_name
新しい tuned.conf ファイルとともにディレクトリーを作成すると、システム tuned プロファイルの更新後にすべてのプロファイルの変更を保持できます。
または、システムプロファイルとともにディレクトリーを /user/lib/tuned/ から /etc/tuned/ にコピーします。以下に例を示します。
# cp -r /usr/lib/tuned/throughput-performance /etc/tuned
次に、必要に応じて /etc/tuned でプロファイルを編集します。同じ名前のプロファイルが 2 つある場合は、/etc/tuned/ にあるプロファイルがロードされることに注意してください。この方法の欠点は、tuned のアップグレード後にシステムプロファイルが更新される場合に、古くなった変更済みバージョンに変更が反映されなくなることです。

リソース

詳細については、「tuned」「tuned-adm」を参照してください。tuned および tuned-adm 使用の詳細については、tuned(8) および tuned-adm(1) man ページを参照してください。

このページには機械翻訳が使用されている場合があります (詳細はこちら)。