3.8. 利用可能な TuneD プラグイン
プラグインの監視
現在、以下の監視プラグインが実装されています。
disk- デバイスおよび測定間隔ごとのディスク負荷 (IO 操作の数) を取得します。
net- ネットワークカードおよび測定間隔ごとのネットワーク負荷 (転送済みパケットの数) を取得します。
load- CPU および測定間隔ごとの CPU 負荷を取得します。
プラグインのチューニング
現在、以下のチューニングプラグインが実装されています。動的チューニングを実装するのは、これらのプラグインの一部のみです。プラグインで対応しているオプションもリスト表示されます。
cpuCPU ガバナーを、
governorオプションで指定された値に設定し、CPU 負荷に応じて、電源管理サービス品質 (PM QoS) CPU ダイレクトメモリーアクセス (DMA) のレイテンシーを動的に変更します。CPU 負荷が
load_thresholdオプションで指定された値よりも小さい場合、レイテンシーはlatency_highオプションで指定した値に設定されます。それ以外では、latency_lowで指定した値に設定されます。レイテンシーを特定の値に強制し、さらに動的に変更しないようにすることもできます。これを行うには、
force_latencyオプションを、必要なレイテンシーの値に設定します。eeepc_sheCPU の負荷に応じて、フロントサイドバス (FSB) の速度を動的に設定します。
この機能は一部のネットブックで利用でき、ASUS Super Hybrid 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プラグインを使用します。他の特定プラグインが、この設定に対応している場合は、そのプラグインを使用することが推奨されます。usbUSB デバイスの autosuspend タイムアウトを、
autosuspendパラメーターで指定した値に設定します。値が
0の場合は、autosuspend が無効になります。vmtransparent_hugepagesオプションの値に合わせて、Transparent Huge Page を有効または無効にします。transparent_hugepagesオプションの有効な値は次のとおりです。- "always"
- "never"
- "madvise"
audio音声コーデックの autosuspend タイムアウトを、
timeoutオプションで指定した値に設定します。現在、
snd_hda_intelコーデックおよびsnd_ac97_codecコーデックに対応しています。値が0の場合は、autosuspend が無効になります。また、ブール値オプションreset_controllerをtrueに設定することにより、コントローラーを強制的にリセットすることもできます。diskelevatorオプションで指定された値にディスクエレベーターを設定します。また、以下も設定します。
-
apmオプションで指定された値への APM -
scheduler_quantumオプションで指定された値へのスケジューラーの量子 -
spindownオプションで指定された値へのディスクスピンダウンタイムアウト -
readaheadパラメーターで指定した値までディスク先読み -
現在のディスクが、
readahead_multiplyオプションで指定した定数を掛けた値に先読みされます。
さらに、このプラグインにより、現在のドライブ使用状況に応じて、ドライブの高度な電力管理設定および spindown タイムアウト設定が動的に変更します。動的チューニングは、ブール値オプション
dynamicにより制御でき、デフォルトで有効になります。-
scsi_hostSCSI ホストのオプションをチューニングします。
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[script] script=${i:PROFILE_DIR}/script.shCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
プロファイルの読み込み時に
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 ブートローダーのみをサポートします。
GRUB 設定ファイルのカスタマイズされた非標準の場所は、
grub2_cfg_fileオプションで指定できます。そのカーネルオプションは、現在の GRUB 設定とそのテンプレートに追加されます。カーネルオプションを有効にするには、システムを再起動する必要があります。
別のプロファイルに切り替えるか、
TuneDサービスを手動で停止すると、追加のオプションが削除されます。システムをシャットダウンまたは再起動しても、カーネルオプションはgrub.cfgファイルに残ります。カーネルオプションは、以下の構文で指定できます。
cmdline=arg1 arg2 ... argN
cmdline=arg1 arg2 ... argNCopy to Clipboard Copied! Toggle word wrap Toggle overflow 例3.7 カーネルコマンドラインの変更
たとえば、
quietカーネルオプションを TuneD プロファイルに追加するには、tuned.confファイルに次の行を含めます。[bootloader] cmdline=quiet
[bootloader] cmdline=quietCopy to Clipboard Copied! Toggle word wrap Toggle overflow 以下に、
isolcpus=2オプションをカーネルコマンドラインに追加するカスタムプロファイルの例を示します。[bootloader] cmdline=isolcpus=2
[bootloader] cmdline=isolcpus=2Copy to Clipboard Copied! Toggle word wrap Toggle overflow 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プラグインは、systemdinit システム以外の現在のランレベルでのみ動作します。例3.8 オーバーレイファイルを使用した
sendmailサービスの開始および有効化[service] service.sendmail=start,enable,file:${i:PROFILE_DIR}/tuned-sendmail.conf[service] service.sendmail=start,enable,file:${i:PROFILE_DIR}/tuned-sendmail.confCopy to Clipboard Copied! Toggle word wrap Toggle overflow 内部変数
${i:PROFILE_DIR}は、プラグインがプロファイルをロードするディレクトリーを指します。-
scheduler- スケジューリングの優先度、CPU コア分離、プロセスアフィニティー、スレッドアフィニティー、および IRQ アフィニティーを調整するためのさまざまなオプションを提供します。
利用可能なさまざまなオプションの詳細は、Functionalities of the scheduler TuneD plug-in を参照してください。