現在位置: ホーム / Red Hat Ch. / Red Hat Blog / パフォーマンスチューニングを自動化するtuned

パフォーマンスチューニングを自動化するtuned

Red Hat Enterprise Linuxの6.0から、パフォーマンスチューニングに必要な設定をまとめておこなう tuned が同梱されています。今回はこのtunedをご紹介します。

レッドハットの森若です。

Red Hat Enterprise Linux のパフォーマンスチューニングを行いたい場合「どんな場合でも利用できるある1つの設定」というものはありません。たとえば以下のようなケースが考えられ、これらはそれぞれ異なる設定をおこなうことになります。

  • 計算スループットが重要で、イベントに対するレイテンシはあまり重要ではない場合
  • 省電力が重要なノートPCでのデスクトップ用途の場合
  • ネットワークのレイテンシを重視する場合

今回はこれらのパフォーマンスチューニング設定を簡易に行うための仕組みである tuned を紹介します。

tuned

tunedはRHEL 6.0から導入されたデーモンで、IOエレベータの設定、メモリ管理の設定、CPUスケジューラの設定、CPUの省電力設定、キャッシュのパラメータなどの各種設定をまとめたものを「プロファイル」として定義し、まとめて設定します。さらに仕組みを提供するだけでなく、典型的ないくつかのプロファイルを同梱しています。

このtunedを活用することで、典型的なケースについては非常に簡単にパフォーマンスチューニングを行うことができます。

tunedのプロファイル

早速tunedに添付されるプロファイルを見てみましょう。RHEL Server 7.4 で以下のようにコマンド 「tuned-adm list」により利用可能なプロファイルと現在設定されているプロファイルが表示されます。

# tuned-adm  list
Available profiles:
- balanced                    - General non-specialized tuned profile
- desktop                     - Optimize for the desktop use-case
- 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: virtual-guest

それぞれのプロファイルについては man 7 tuned-profiles に概要が記載されていますが、 /usr/lib/tuned/プロファイル名/tuned.conf に設定が含まれていますので詳細はこれらのファイルを参照するのが手早いです。

表示ではわかりませんが balanced, latency-performance, throughput-performance, powersave の4種類が基本的な(方針の違う)プロファイルとして定義されており、その他のプロファイルはこれらを継承して少し変更する形で実装されています。

プロファイルの指定

tunedのプロファイル指定は、 「tuned-adm profile プロファイル名」で行います。指定すると即座に反映され、その後は再起動してもtuned起動時にプロファイルが適用されます。何もしていなければデフォルトでtunedは有効で起動されます。

現在有効なプロファイルを確認するには、 「tuned-adm active」とすると表示されます。同じものが「tuned-adm list」の最終行にも出力されます。

# tuned-adm profile latency-performance
# tuned-adm active
Current active profile: latency-performance

カスタムプロファイル作成時のヒント

独自にプロファイルを作成する場合は  /etc/tuned/プロファイル名/tuned.conf に必要な設定を記載することになります。include文にて既存のプロファイルをベースとすることもできます。

組織内で標準的に利用するtunedプロファイルを必要なパターンにあわせて定義しておけば、ファイルを数個設置してtuned-admで指定するだけで作業が完了しますので、初期設定作業が大幅に簡素化できます。

tuned.conf内で扱える設定は多岐に渡り、sysctlの指定、sysfsへの指定、ethtoolの指定、各種周辺装置の省電力設定、linux kernelの起動オプション(反映には再起動が必要)などがあります。さらにプロファイル適用時と適用終了時に実行するスクリプトも指定できますので、多くの場合はtunedのプロファイル内にパフォーマンスチューニング設定を集約することができます。

関連ドキュメント

お問い合わせ

問い合わせボタン

RHEL サポート

最近の更新
パフォーマンスチューニングを自動化するtuned 2017年08月10日
継続的な学習を実現する Red Hat Learning Subscription 2017年07月07日
Red Hat Enterprise Linux 7.4 public betaがでました 2017年05月26日
Automation with Ansibleコース(DO407 :4日間)のご紹介 2017年04月26日
RHELで新しいgitやPython3を使うには? 2017年03月29日
AnsibleとRed Hat Identity Managementを併用すると便利 2017年02月28日
Red Hat Satellite 6でerrataを適用してみる 2016年11月28日
VMware環境上でのRed Hat Enterprise Linux 7.2以前から7.3へアップデート時の注意点と、その解説 2016年11月24日
RHEL4の延長サポートおよびRHEL5の通常サポート終了 2016年10月17日
Red Hat Enterprise Linuxの互換性維持 2016年08月31日
RED HAT FORUM 2016 Tokyo The power of participation -アイデアとテクノロジーが生むオープンイノベーションの破壊力- 2016年08月12日
Red Hat Network ClassicからRed Hat Subscription Managementへ移行のおねがい 2016年07月27日
ABRTで障害時の情報収集とレポートを自動化しよう 2016年06月03日
Red Hat Enterprise Linux 7、使ってますか? 2016年04月27日
Red Hat Developer Programに参加して開発者用サブスクリプションを入手しよう 2016年04月01日
Relax and Recoverでのシステム回復 2016年03月08日
Red Hat Insightsとは 2015年11月13日
Red Hat Enterprise Linuxを仮想化環境で動作させる時の注意点 2015年10月05日
RHEL7でpingをreniceしようとすると失敗する話 2015年08月31日
Red Hat Satellite使いはじめガイド 2015年08月20日