2.6. 用于配置集自定义的内置功能
您可以在激活配置集时,使用 TuneD 配置集中的内置功能在运行时动态扩展。将内置函数与 TuneD 变量一起使用,在配置集中动态修改和处理值。另外,您可以通过创建自定义功能来扩展 TuneD,方法是创建并集成自定义 Python 功能作为插件。
- 启动内置功能的语法
 ${f:function_name:argument_1:argument_2}${f:function_name:argument_1:argument_2}Copy to Clipboard Copied! Toggle word wrap Toggle overflow 另外,要检索配置集和 tuned.conf 文件所在的目录路径,请使用
PROFILE_DIR变量,这需要以下语法:${i:PROFILE_DIR}${i:PROFILE_DIR}Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 使用内置功能隔离 CPU 内核的示例
 [variables] non_isolated_cores=0,3-5 [bootloader] cmdline=isolcpus=${f:cpulist_invert:${non_isolated_cores}}[variables] non_isolated_cores=0,3-5 [bootloader] cmdline=isolcpus=${f:cpulist_invert:${non_isolated_cores}}Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在本例中,
${non_isolated_cores}变量扩展至0,3-5。cpulist_invert函数反转 CPU 列表。在有 6 个 CPU 的系统上,03-5反转为1,2,导致内核通过isolcpus=1,2选项引导。
| 功能名称 | 描述 | 
|---|---|
|   assertion  |   比较两个参数。如果不匹配,函数会记录来自第一个参数的文本,并中止配置集加载。  | 
|   assertion_non_equal  |   比较两个参数。如果匹配,函数会记录来自第一个参数的文本,并中止配置集加载。  | 
|   calc_isolated_cores  |   计算并返回隔离内核。参数指定要为内务保留的每个插槽的内核数。如果没有指定,则每个插槽保留一个核心用于内务,其余则被隔离。  | 
|   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 列表转换为十六进制 CPU 掩码。  | 
|   cpulist2hex_invert  |   将 CPU 列表转换为十六进制 CPU 掩码并进行反转。  | 
|   cpulist_invert  |   颠倒 CPU 列表,使其补充。例如,在有 4 个 CPU (0-3)的系统中,列表 0,2,3 的 inversion 为 1。  | 
|   cpulist_online  |   检查列表中的 CPU 是否在线。返回仅包含在线 CPU 的列表。  | 
|   cpulist_pack  |   将 CPU 列表打包为 1,2,3,5 到 1-3,5。  | 
|   cpulist_present  |   检查列表中是否存在 CPU。返回只包含当前 CPU 的列表。  | 
|   cpulist_unpack  |   解包 CPU 列表,格式为 1-3,4 到 1,2,3,4。  | 
|   exec  |   执行进程并返回其输出。  | 
|   hex2cpulist  |   将十六进制 CPU 掩码转换为 CPU 列表。  | 
|   intel_recommended_pstate  |   
								检查处理器代码名称,并返回推荐的   | 
|   iscpu_check  |   
								根据 的输出检查   | 
|   package2cpus  |   提供软件包(套接字)的 CPU 设备列表。  | 
|   package2uncores  |   为软件包(套接字)提供非核心设备列表。  | 
|   regex_search_ternary  |   
								Ternary 正则表达式运算符。采用以下格式的参数:STR1、REGEX、STR2、STR3。如果 REGEX 匹配 STR1 (使用了  | 
|   log  |   扩展至参数串联并记录结果,有助于调试。  | 
|   kb2s  |   将 KB 转换为磁盘扇区。  | 
|   s2kb  |   将磁盘扇区转换为 KB。  | 
|   strip  |   从所有传递的参数创建字符串,并删除前导和尾随空格。  | 
|   virt_check  |   检查 TuneD 是否在虚拟机(VM)或裸机中运行。在虚拟机内部,函数返回第一个参数。在裸机上,函数返回第二个参数,即使出现错误。  |