2.6. 用于配置集自定义的内置功能
您可以在激活配置集时,使用 TuneD 配置集中的内置功能在运行时动态扩展。将内置函数与 TuneD 变量一起使用,在配置集中动态修改和处理值。另外,您可以通过创建自定义功能来扩展 TuneD,方法是创建并集成自定义 Python 功能作为插件。
- 启动内置功能的语法
${f:function_name:argument_1:argument_2}另外,要检索配置集和 tuned.conf 文件所在的目录路径,请使用
PROFILE_DIR变量,这需要以下语法:${i:PROFILE_DIR}- 使用内置功能隔离 CPU 内核的示例
[variables] non_isolated_cores=0,3-5 [bootloader] cmdline=isolcpus=${f:cpulist_invert:${non_isolated_cores}}在本例中,
${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)或裸机中运行。在虚拟机内部,函数返回第一个参数。在裸机上,函数返回第二个参数,即使出现错误。 |