Red Hat Training
A Red Hat training course is available for RHEL 8
3.7. TuneD 插件
插件是 TuneD 配置集中的模块,TuneD 使用它们监控或优化系统上的不同设备。
TuneD 使用两种类型的插件:
- 监控插件
监控插件用于从正在运行的系统中获取信息。通过调优插件进行动态调优,可以使用监控插件的输出。
当任何已启用的调优插件需要指标时,监控插件会自动实例化。如果两个调优插件需要相同的数据,则只创建一个监控插件的实例,并且数据会被共享。
- 调优插件
- 每个调优插件对单个子系统进行调优,并会获取从 TuneD 配置集填充的多个参数。每个子系统可以有多个设备,如多个 CPU 或网卡,这些设备由调优插件的单个实例处理。还支持单个设备的具体设置。
TuneD 配置集中的插件语法
描述插件实例的部分采用以下格式:
[NAME] type=TYPE devices=DEVICES
- NAME
- 是插件实例的名称,在日志中使用。它可以是一个任意字符串。
- TYPE
- 是调优插件的类型。
- DEVICES
是此插件实例处理的设备列表。
devices
行可以包含一个列表、通配符 (*
) 和负效果 (!
) 。如果没有devices
行,则插件实例处理所有在 TYPE 系统中附加的所有设备。这与使用devices=*
选项相同。例 3.4. 使用插件匹配块设备
以下示例与以
sd
开头的所有块设备(如sda
或sdb
)匹配,且不禁用这些块设备:[data_disk] type=disk devices=sd* disable_barriers=false
以下示例与
sda1
和sda2
以外的所有块设备匹配:[data_disk] type=disk devices=!sda1, !sda2 disable_barriers=false
如果没有指定插件的实例,则不会启用插件。
如果插件支持更多选项,也可以在插件部分中指定它们。如果没有指定选项,且之前未在 included 插件中指定,则使用默认值。
简短插件语法
如果您的插件实例不需要使用自定义名称,且配置文件中只有一个定义,则 TuneD 支持以下短语法:
[TYPE] devices=DEVICES
在这种情况下,可以省略 type
行。然后,实例使用名称来指代,与类型相同。然后,前面的示例可重写为:
例 3.5. 使用简短语法匹配块设备
[disk] devices=sdb* disable_barriers=false
配置集中的冲突插件定义
如果使用 include
选项指定同一部分,则会合并设置。如果因为冲突而无法合并它们,则最后冲突的定义会覆盖上一个设置。如果您不知道之前定义的内容,您可以使用 replace
布尔值选项并将其设置为 true
。这会导致之前带有相同名称的定义被覆盖,且不会出现合并。
您还可以通过指定 enabled=false
选项来禁用插件。这与实例从未定义的影响相同。如果您从 include
选项重新定义之前定义,且不想在自定义配置集中激活插件,则禁用插件会很有用。
- 注意
TuneD 包含了作为启用或禁用调优配置文件的一部分来运行任何 shell 命令的功能。这可让您使用尚未集成到 TuneD 的功能扩展 TuneD 配置集。
您可以使用
script
插件指定任意 shell 命令。
其他资源
-
tuned.conf (5)
手册页