3.8. 利用可能な TuneD プラグイン
プラグインの監視
現在、以下の監視プラグインが実装されています。
disk
- デバイスおよび測定間隔ごとのディスク負荷 (IO 操作の数) を取得します。
net
- ネットワークカードおよび測定間隔ごとのネットワーク負荷 (転送済みパケットの数) を取得します。
load
- CPU および測定間隔ごとの CPU 負荷を取得します。
プラグインのチューニング
現在、以下のチューニングプラグインが実装されています。動的チューニングを実装するのは、これらのプラグインの一部のみです。プラグインで対応しているオプションもリスト表示されます。
cpu
CPU ガバナーを、
governor
オプションで指定された値に設定し、CPU 負荷に応じて、電源管理サービス品質 (PM QoS) CPU ダイレクトメモリーアクセス (DMA) のレイテンシーを動的に変更します。CPU 負荷が
load_threshold
オプションで指定された値よりも小さい場合、レイテンシーはlatency_high
オプションで指定した値に設定されます。それ以外では、latency_low
で指定した値に設定されます。レイテンシーを特定の値に強制し、さらに動的に変更しないようにすることもできます。これを行うには、
force_latency
オプションを、必要なレイテンシーの値に設定します。eeepc_she
CPU の負荷に応じて、フロントサイドバス (FSB) の速度を動的に設定します。
この機能は一部のネットブックで利用でき、ASUS Super buf Engine (SHE) としても知られています。
CPU 負荷が
load_threshold_powersave
オプションで指定した値と同じかそれ未満の場合、プラグインは、FSB 速度を、she_powersave
オプションで指定した値に設定します。CPU 負荷がload_threshold_normal
オプションで指定した値と同じかそれより上になる場合は、FSB 速度が、she_normal
オプションで指定された値に設定されます。この機能のハードウェアサポートを TuneD が検出しない場合、静的チューニングには対応せず、プラグインも透過的に無効になります。
net
-
Wake on LAN 機能を、
wake_on_lan
オプションで指定した値に設定します。ethtool
ユーティリティーと同じ構文を使用します。また、インターフェイスの使用状況に応じてインターフェイス速度が動的に変更します。 sysctl
プラグインオプションで指定したさまざまな
sysctl
設定を設定します。この構文は、
name=value
です。name は、sysctl
ユーティリティーが指定した名前と同じです。TuneDで利用可能な別のプラグインで対応していない設定を変更する必要がある場合は、
sysctl
プラグインを使用します。他の特定プラグインが、この設定に対応している場合は、そのプラグインを使用することが推奨されます。usb
USB デバイスの autosuspend タイムアウトを、
autosuspend
パラメーターで指定した値に設定します。値が
0
の場合は、autosuspend が無効になります。vm
transparent_hugepages
オプションの値に合わせて、Transparent Huge Page を有効または無効にします。transparent_hugepages
オプションの有効な値は次のとおりです。- "always"
- "never"
- "madvise"
audio
音声コーデックの autosuspend タイムアウトを、
timeout
オプションで指定した値に設定します。現在、
snd_hda_intel
コーデックおよびsnd_ac97_codec
コーデックに対応しています。値が0
の場合は、autosuspend が無効になります。また、ブール値オプションreset_controller
をtrue
に設定することにより、コントローラーを強制的にリセットすることもできます。disk
elevator
オプションで指定された値にディスクエレベーターを設定します。また、以下も設定します。
-
apm
オプションで指定された値への APM -
scheduler_quantum
オプションで指定された値へのスケジューラーの量子 -
spindown
オプションで指定された値へのディスクスピンダウンタイムアウト -
readahead
パラメーターで指定した値までディスク先読み -
現在のディスクが、
readahead_multiply
オプションで指定した定数を掛けた値に先読みされます。
さらに、このプラグインにより、現在のドライブ使用状況に応じて、ドライブの高度な電力管理設定および spindown タイムアウト設定が動的に変更します。動的チューニングは、ブール値オプション
dynamic
により制御でき、デフォルトで有効になります。-
scsi_host
SCSI ホストのオプションをチューニングします。
Aggressive Link Power Management (ALPM) を、
alpm
オプションで指定した値に設定します。mounts
-
disable_barriers
オプションのブール値に応じて、マウントのバリアを有効または無効にします。 script
プロファイルの読み込み時またはアンロード時に、外部スクリプトまたはバイナリーを実行します。任意の実行可能ファイルを選択できます。
重要script
プラグインは、以前のリリースとの互換性を維持するために提供されています。必要な機能をカバーする場合は、他のTuneD プラグインを使用することが推奨されます。TuneD は、以下のいずれかの引数で実行ファイルを呼び出します。
-
プロファイルの読み込み時に
start
-
プロファイルのアンロード時に
stop
実行可能ファイルに
stop
アクションを適切に実装し、start
アクション中に変更したすべての設定を元に戻す必要があります。この手順を行わないと、TuneD プロファイルを変更した後のロールバック手順が機能しません。bash スクリプトは、Bash ライブラリー
/usr/lib/tuned/functions
をインポートし、そこで定義されている関数を使用できます。これらの関数は、TuneD がネイティブに提供していない機能にのみ使用してください。関数名が_wifi_set_power_level
などのアンダースコアで始まる場合は、将来変更される可能性があるため、関数をプライベートにし、スクリプトでは使用しないでください。プラグイン構造の
script
パラメーターを使用して、実行ファイルへのパスを指定します。例3.6 プロファイルからの Bash スクリプトの実行
プロファイルディレクトリーに置かれた
script.sh
という名前の Bash スクリプトを実行するには、次のコマンドを実行します。[script] script=${i:PROFILE_DIR}/script.sh
-
プロファイルの読み込み時に
sysfs
プラグインオプションで指定したさまざまな
sysfs
設定を設定します。構文は
name=value
となります。name は、使用するsysfs
パスです。このプラグインは、他のプラグインで対応していない一部の設定を変更する必要がある場合に使用します。特定のプラグインが必要な設定に対応する場合は、そのプラグインを優先します。
video
ビデオカードのさまざまな省電力レベルを設定します。現在、Radeon カードにのみ対応しています。
省電力レベルは、
radeon_powersave
オプションを使用して指定できます。対応している値は次のとおりです。-
default
-
auto
-
low
-
mid
-
High
-
dynpm
-
dpm-battery
-
dpm-balanced
-
dpm-perfomance
詳細は www.x.org を参照してください。このプラグインは実験的なものであるため、今後のリリースでオプションが変更する可能性があることに注意してください。
-
bootloader
カーネルコマンドラインにオプションを追加します。このプラグインは、GRUB 2 ブートローダーのみに対応しています。
grub2_cfg_file
オプションを使用すると、GRUB 2 設定ファイルの場所を、標準以外のカスタマイズされた場所に指定できます。そのカーネルオプションは、現在の GRUB 設定とそのテンプレートに追加されます。カーネルオプションを有効にするには、システムを再起動する必要があります。
別のプロファイルに切り替えるか、
TuneD
サービスを手動で停止すると、追加のオプションが削除されます。システムをシャットダウンまたは再起動しても、カーネルオプションはgrub.cfg
ファイルに残ります。カーネルオプションは、以下の構文で指定できます。
cmdline=arg1 arg2 ... argN
例3.7 カーネルコマンドラインの変更
たとえば、
quiet
カーネルオプションを TuneD プロファイルに追加するには、tuned.conf
ファイルに次の行を含めます。[bootloader] cmdline=quiet
以下に、
isolcpus=2
オプションをカーネルコマンドラインに追加するカスタムプロファイルの例を示します。[bootloader] cmdline=isolcpus=2
service
プラグインオプションで指定されたさまざまな
sysvinit
、sysv-rc
、openrc
、およびsystemd
サービスを処理します。構文は
service.service_name=command[,file:file]
です。サポートされているサービス処理コマンドは次のとおりです。
-
start
-
stop
-
enable
-
disable
コンマ (
,
) またはセミコロン (;
) を使用して、複数のコマンドを区切ります。ディレクティブの競合の場合、service
プラグインは最後にリストされたものを使用します。オプションの
file:file
ディレクティブを使用して、systemd
専用のオーバーレイ設定ファイルfile
をインストールします。他の init システムは、このディレクティブを無視します。service
プラグインは、オーバーレイ設定ファイルを/etc/systemd/system/service_name.service.d/
ディレクトリーにコピーします。プロファイルがアンロードされると、service
プラグインは、これらのディレクトリーが空の場合は削除します。注記service
プラグインは、systemd
init システム以外の現在のランレベルでのみ動作します。例3.8 オーバーレイファイルを使用した
sendmail
サービスの開始および有効化[service] service.sendmail=start,enable,file:${i:PROFILE_DIR}/tuned-sendmail.conf
内部変数
${i:PROFILE_DIR}
は、プラグインがプロファイルをロードするディレクトリーを指します。-
scheduler
- スケジューリングの優先度、CPU コア分離、プロセスアフィニティー、スレッドアフィニティー、および IRQ アフィニティーを調整するためのさまざまなオプションを提供します。
利用可能なさまざまなオプションの詳細は、Functionalities of the scheduler
TuneD plug-in を参照してください。