2.7. TuneD プラグイン
TuneD プロファイルはプラグインを使用して、システム上のさまざまなデバイスを監視または最適化します。TuneD では、以下の 2 つのタイプのプラグインを使用します。
- 監視プラグイン
- CPU 負荷、ディスク I/O、ネットワークトラフィックなどのシステムデータを収集するために使用されます。監視プラグインの出力は、動的チューニング向けチューニングプラグインによって使用できます。監視プラグインは、有効ないずれかのチューニングプラグインでメトリックが必要な場合に必ず自動的にインスタンス化されます。利用可能な監視プラグインは次のとおりです。
disk- デバイスおよび測定間隔ごとのディスク負荷 (IO 操作の数) を取得します。
net- ネットワークカードおよび測定間隔ごとのネットワーク負荷 (転送済みパケットの数) を取得します。
load- CPU および測定間隔ごとの CPU 負荷を取得します。
- チューニングプラグイン
- 各チューニングプラグインにより、個別サブシステムがチューニングされ、TuneD プロファイルから入力される複数のパラメーターが取得されます。各サブシステムには、チューニングプラグインの個別インスタンスで処理される複数のデバイス (複数の CPU やネットワークカードなど) を含めることができます。また、個別デバイスの特定の設定もサポートされます。利用可能なチューニングプラグインは次のとおりです。
acpi-
ACPI ドライバーを設定します。ACPI プラットフォームプロファイル
sysfs属性を設定するには、platform_profileオプションを使用します。これは、他のドライバー用の汎用的なpower/performance設定 API です。複数のプロファイルを|で区切って指定できます。利用可能な最初のプロファイルが選択されます。 audio-
音声コーデックの autosuspend タイムアウトを、timeout オプションで指定した値に設定します。現在、
snd_hda_intelコーデックおよびsnd_ac97_codecコーデックに対応しています。値が 0 の場合は、autosuspend が無効になります。また、ブール値オプション reset_controller をtrueに設定することにより、コントローラーを強制的にリセットすることもできます。 bootloader-
カーネルコマンドラインにオプションを追加します。このプラグインは GRUB ブートローダーのみをサポートします。GRUB 設定ファイルのカスタマイズされた非標準の場所は、
grub2_cfg_fileオプションで指定できます。そのカーネルオプションは、現在の GRUB 設定とそのテンプレートに追加されます。カーネルオプションを有効にするには、システムを再起動する必要があります。 cpu- CPU ガバナーを governor オプションで指定された値に設定し、CPU 負荷に応じて電源管理サービス品質 (PM QoS) CPU ダイレクトメモリーアクセス (DMA) のレイテンシーを動的に変更することで、CPU ガバナーと電源設定を管理します。
disk-
apm、scheduler_quantum、readahead、readahead_multiply、spindownなどのディスク設定を管理します。 eeepc_she- CPU の負荷に応じて、フロントサイドバス (FSB) の速度を動的に設定します。
irq-
個々の割り込み要求 (IRQ) をデバイスとして処理し、それぞれ異なるデバイスまたは IRQ をアドレス指定する複数のプラグインインスタンスを定義できます。プラグインで使用されるデバイス名は
irq<n>です。この場合の<n>は IRQ 番号です。特殊デバイスDEFAULTは、すべての非アクティブな IRQ に適用される/proc/irq/default_smp_affinityに書き込まれる値を制御します。 irqbalance-
irqbalanceの設定を管理します。プラグインは、/etc/sysconfig/irqbalanceで IRQ のバランスを再調整する場合にスキップする必要がある CPU を設定します。その後、以前実行されていた場合にのみ irqbalance を再起動します。 modules-
カスタムカーネルモジュールオプションを適用します。カーネルモジュールにパラメーターを設定して
/etc/modprobe.d/tuned.confファイルを作成できます。構文はmodule=option1=value1 option2=value2…を使用し、この場合のmoduleはモジュール名、optionx=valuexは存在する可能性のあるモジュールオプションです。 mounts- マウントされたファイルシステムのバリアを有効または無効にします。
net- ethtool ユーティリティーと同じ構文を使用して、Wake-on-LAN とインターフェイス速度を設定します。インターフェイスの使用状況に応じて、インターフェイス速度も動的に変更します。
rtentsk- 静的キーの有効化または無効化によって発生するプロセッサー間の割り込みを回避します。オプションはありません。これを追加すると、TuneD はタイムスタンプを有効にした状態でソケットを開放したまま維持するため、静的キーも有効な状態が維持されます。
selinux-
SELinux オプションを調整します。アクセスの許可または拒否など、SELinux の決定がキャッシュされます。このキャッシュは、アクセスベクトルキャッシュ (AVC) として知られています。このように結果がキャッシュされると、確認が必要な量が減るため、SELinux ポリシーのパフォーマンスが向上します。
avc_cache_thresholdオプションを使用すると、AVC エントリーの最大数を調整できます。 systemd-
systemd オプションを調整します。
cpu_affinityオプションを使用すると、/etc/systemd/system.confで CPUAffinity を設定できます。これにより、サービスマネージャーの CPU アフィニティーと、フォークされたすべてのプロセスのデフォルトの CPU アフィニティーが設定されます。コンマ区切りの CPU リストを追加します。必要に応じて、CPU 範囲をマイナス記号 (-) で指定します。 scsi_host-
SCSI ホスト設定を調整します (例:
ALPM)。 scheduler- スケジューリングの優先度、CPU コア分離、プロセスアフィニティー、スレッドアフィニティー、および IRQ アフィニティーを調整するためのさまざまなオプションを提供します。
script- プロファイルのロード時またはアンロード時に、外部スクリプトまたはバイナリーを実行します。
service- プラグインオプションで指定されたさまざまな sysvinit、sysv-rc、openrc、systemd サービスを処理します。サポートされているサービス処理コマンドは、start、stop、enable、disable です。
sysctl-
カーネルパラメーターを変更します。このプラグインは、TuneD で使用可能な他のプラグインでカバーされていないシステム設定を変更する場合にのみ使用してください。構文は、name=value です。この場合の name は、
sysctlユーティリティーが指定した名前と同じです。 sysfs-
プラグインオプションで指定したさまざまな
sysfs設定を設定します。構文は name=value です。この場合の name は、使用するsysfsパスです。 usb-
USB 自動サスペンドのタイムアウトを調整します。値が
0の場合は、autosuspend が無効になります。 uncore-
最大および最小のアンコア周波数を制限します。
max_freq_khzオプションとmin_freq_khzオプションは、Intel アンコア周波数ドライバーによって公開されるsysfsファイルに対応します。値は kHz 単位、または設定可能な範囲のパーセンテージで指定できます。 video-
ビデオカードのさまざまな省電力レベルを設定します。現在、
Radeonカードにのみ対応しています。powersaveレベルは、radeon_powersaveオプションを使用して指定できます。サポートされている値は、default、auto、low、mid、high、dynpm、dpm-battery、dpm-balanced、dpm-perfomance です。 vm-
transparent huge page を有効または無効にします。transparent_hugepages オプションの有効な値は、
always, never, madviseです。