RedHat系Linuxのシステム設定を自動的にチューニングする方法(tuned)

RedHat系Linuxのシステム設定を自動的にチューニングする方法(tuned)

RedHat系Linuxには、システムパラメーターを自動的に調整してくれる機能「tuned」が標準で搭載されています。

tunedには、用途に応じた複数のプロファイルが用意されており、システムの利用目的に応じて適切なプロファイルを選択することで、システムを稼働した状態でシステムパラーメータを動的に変更して、システムのパフォーマンスを向上させることができます。

ここでは、tunedを使ってLinuxのパフォーマンスをチューニングする手順を紹介します。

この記事は、以下の環境での動作結果を基にしています。他のディストリビューションやバージョンでは、動作結果が異なる場合があることをご了承ください。

ソフトウェアバージョン
CentOS Linux7.4.1708

tunedの使い方

現在のプロファイルを確認する

tuned-adm listコマンドを実行すれば、適用可能なプロファイルのリストと現在適用されているプロファイルを確認できます。

適用可能なプロファイルには、さまざまな用途に合わせたプロファイルが用意されています。

  • デスクトップ向け
  • 高スループット向け
  • 低レイテンシー向け
  • 仮想マシン向け
  • 省電力向け など
# tuned-adm list

Available profiles:
- balanced
- desktop
- latency-performance
- network-latency
- network-throughput
- powersave
- throughput-performance
- virtual-guest
- virtual-host
Current active profile: virtual-guest

上の画面は、Hyper-V上のLinux仮想マシンで実行したので「virtual-guest」というプロファイルが適用されています。

プロファイルを変更する

適用するプロファイルを変更するときは、以下のようにコマンドを実行します。

# tuned-adm profile throughput-performance

上のコマンドでは「throughput-performance」というプロファイルを適用しています。

「throughput-performance」プロファイルは、ディスクおよびネットワークのパフォーマンスをアップできるプロファイルで、サーバー向けのプロファイルです。

Memo1

選択可能なプロファイルは「/usr/lib/tuned」ディレクトリにあり、中身を確認するとカーネルパラメータが設定されていることがわかります。また、これらのプロファイルを元に自分のシステムに最適なカスタムプロファイルを作ることもできます。

Memo2

ちなみに、プロファイル「virtual-guest」には「throughput-performance」が含まれています。

あとがき

自分の環境でプロファイルを「virtual-guest」から「throughput-performance」に変更し、ab(apache bench)で計測したところでは、残念ながらパフォーマンスに変化はありませんでしたが、物理サーバーにおいてはtunedでパフォーマンスアップを期待できると思います。

コマンドで簡単に切り替えることができるので、Linuxマシンのパフォーマンスを最適化するなら、試してみる価値はあるのではないでしょうか。

参考

https://access.redhat.com/documentation/ja-jp/red_hat_enterprise_linux/6/html/power_management_guide/tuned