2.6. プロファイルのカスタマイズに使用するビルトイン関数


TuneD プロファイルのビルトイン関数を使用すると、プロファイルがアクティブ化されたときに実行時に動的に展開できます。TuneD 変数とビルトイン関数を組み合わせて使用することで、プロファイル内の値を動的に変更および処理できます。さらに、カスタム Python 関数をプラグインとして作成および統合することで、カスタム関数を使用して TuneD を拡張できます。

ビルトイン関数を起動するための構文
${f:function_name:argument_1:argument_2}
Copy to Clipboard Toggle word wrap

プロファイルと tuned.conf ファイルが配置されているディレクトリーパスを取得するには、次の構文を必要とする PROFILE_DIR 変数を使用します。

${i:PROFILE_DIR}
Copy to Clipboard Toggle word wrap
ビルトイン関数を使用して CPU コアを分離する例
[variables]
non_isolated_cores=0,3-5

[bootloader]
cmdline=isolcpus=${f:cpulist_invert:${non_isolated_cores}}
Copy to Clipboard Toggle word wrap

この例では、${non_isolated_cores} 変数は 0,3-5 に展開されます。cpulist_invert 関数は CPU リストを反転します。6 つの CPU を搭載したシステムでは、0,3-51,2 に反転され、カーネルは isolcpus=1,2 オプションで起動します。

Expand
表2.1 利用可能なビルトイン関数:
関数名説明

assertion

2 つの引数を比較します。一致しない場合、関数は最初の引数からテキストをログに記録し、プロファイルの読み込みを中止します。

assertion_non_equal

2 つの引数を比較します。2 つの引数が一致する場合、関数は最初の引数からテキストをログに記録し、プロファイルの読み込みを中止します。

calc_isolated_cores

分離されたコアを計算して返します。引数は、ハウスキーピング用に予約するソケットあたりのコア数を指定します。指定しない場合は、ソケットごとに 1 つのコアがハウスキーピング用に予約され、残りは分離されます。

check_net_queue_count

ユーザーがネットデバイスのキューの数を指定したかどうかを確認します。指定していない場合、ハウスキーピング CPU の数が返されます。

cpuinfo_check

/proc/cpuinfo に対して正規表現をチェックします。次の形式の引数を受け入れます: REGEX1、STR1、REGEX2、STR2、…[, STR_FALLBACK]。REGEX1 が /proc/cpuinfo 内の何かと一致する場合、それは STR1 に展開されます。REGEX2 が一致する場合、それは STR2 に展開されます。最初の一致で停止します。一致する正規表現がない場合は、STR_FALLBACK に展開されます。フォールバックが指定されていない場合は、空の文字列に展開されます。

cpulist2devs

CPU リストをデバイス文字列に変換します。

cpulist2hex

CPU リストを 16 進数の CPU マスクに変換します。

cpulist2hex_invert

CPU リストを 16 進数の CPU マスクに変換し、反転します。

cpulist_invert

補完するために CPU のリストを反転します。たとえば、4 つの CPU (0-3) を搭載したシステムでは、リスト 0,2,3 の反転は 1 になります。

cpulist_online

リストからの CPU がオンラインかどうかをチェックします。オンライン CPU のみを含むリストを返します。

cpulist_pack

CPU リストを、1,2,3,5 の形式で 1-3,5 に圧縮します。

cpulist_present

リストに CPU が存在するかどうかを確認します。存在する CPU のみを含むリストを返します。

cpulist_unpack

1-3,4 形式の CPU リストを、1,2,3,4 に展開します。

exec

プロセスを実行し、その出力を返します。

hex2cpulist

16 進数の CPU マスクを CPU リストに変換します。

intel_recommended_pstate

プロセッサーコード名をチェックし、推奨される intel_pstate CPUFreq ドライバーモードを返します。PROCESSOR_NAME リストにない新しい世代のプロセッサーの場合は、"Active" が返されます。

iscpu_check

iscpu の出力に対して正規表現をチェックします。次の形式の引数を受け入れます: REGEX1、STR1、REGEX2、STR2、…[, STR_FALLBACK]。REGEX1 が出力内の何かと一致する場合、それは STR1 に展開されます。REGEX2 が一致する場合、それは STR2 に展開されます。最初の一致で停止します。一致する正規表現がない場合は、STR_FALLBACK に展開されます。フォールバックが指定されていない場合は、空の文字列に展開されます。

package2cpus

パッケージ (ソケット) の CPU デバイスリストを提供します。

package2uncores

パッケージ (ソケット) の非コアデバイスリストを提供します。

regex_search_ternary

正規表現を使用した三項演算子。STR1、REGEX、STR2、STR3 の形式の引数を受け取ります。REGEX が STR1 と一致する場合 (re.search を使用)、STR2 が返されます。それ以外の場合は STR3 が返されます。

log

引数の連結を展開し、結果をログに記録します。デバッグに役立ちます。

kb2s

KB をディスクセクターに変換します。

s2kb

ディスクセクターを KB に変換します。

strip

渡されたすべての引数から文字列を作成し、最初と最後の空白の両方を削除します。

virt_check

TuneD が仮想マシンまたはベアメタルのどちらで実行しているかを確認します。仮想マシン内では、この関数が最初の引数を返します。ベアメタルでは、この関数は、エラーが発生した場合でも 2 番目の引数を返します。

トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat