Menu Close

2.8. 可用的 TuneD 插件

本节列出了当前在 TuneD 中提供的所有监控和调优插件。

监控插件

目前,实施了以下监控插件:

disk
每个设备获取磁盘负载(IO 操作数)和测量间隔。
net
每个网卡获取网络负载(传输数据包的数量)和测量间隔。
load
获取每个 CPU 的 CPU 负载和测量间隔。

调优插件

目前,实施了以下调优插件。只有其中一些插件实施动态性能优化。列出插件支持的选项:

cpu

将 CPU 调控器设置为 governor 选项指定的值,并根据 CPU 负载动态更改电源管理服务质量(PM QoS)CPU Direct Memory Access(DMA)延迟。

如果 CPU 负载低于 load_threshold 选项指定的值,则延迟设置为由 latency_high 选项指定的值,否则它将设置为 latency_low 指定的值。

您还可以强制对特定值强制延迟并阻止它动态更改。要做到这一点,将 force_latency 选项设置为所需的延迟值。

eeepc_she

根据 CPU 负载动态设置前端总线(FSB)速度。

此功能可在一些笔记本电脑中找到,也称为 ASUS Super Hybrid Engine(SHE)。

如果 CPU 负载较低或等于 load_threshold_powersave 选项指定的值,则插件会将 FSB 速度设置为 she_powersave 选项指定的值。如果 CPU 负载较高或等于 load_threshold_normal 选项指定的值,它会将 FSB 速度设置为 she_normal 选项指定的值。

不支持静态调优,如果 TuneD 不检测到对这个功能的硬件支持,则插件会被透明禁用。

net
将 Wake-on-LAN 功能配置为 wake_on_lan 选项指定的值。它使用与 ethtool 实用程序相同的语法。它还会根据接口利用率动态更改接口速度。
sysctl

设置由插件选项指定的各种 sysctl 设置。

语法为 name=value,其中 namesysctl 实用程序提供的名称相同。

如果您需要更改 TuneD 中其他插件所涵盖的系统设置,请使用 sysctl 插件。如果某些特定插件提供了设置,首选这些插件。

usb

将 USB 设备的自动暂停超时设置为 autosuspend 参数指定的值。

0 表示禁用自动暂停。

vm

启用或禁用透明大内存页,具体取决于 transparent _hugepages 选项的值。

transparent_hugepages 选项的有效值为:

  • "always"
  • "never"
  • "madvise"
audio

将音频解码器的 autosuspend timeout 设置为 timeout 选项指定的值。

目前,支持 snd_hda_intelsnd_ac97_codec codec。值 0 表示自动暂停已被禁用。您还可以通过将 布尔值选项 reset_controller 设置为 true 来强制实施控制器重置。

disk

将磁盘电梯设置为 elevator 选项指定的值。

它还设置:

  • apm 选项指定的值的 APM
  • 调度程序对由 scheduler_quantum 选项指定的值进行量化
  • 磁盘 spindown 的超时值由 spindown 选项指定的值
  • 磁盘的 readahead 会到 readahead 参数指定的值
  • 当前磁盘 readahead 值乘以 readahead_multiply 选项指定的常数

此外,此插件根据当前的驱动器利用率动态地更改驱动器的高级电源管理和机超时设置。动态调优可以由布尔值选项 动态 控制,默认情况下是启用的。

scsi_host

SCSI 主机的选项调整。

它将积极链接电源管理(ALPM)设置为 alpm 选项指定的值。

mounts
根据 disable_barriers 选项的布尔值启用或禁用挂载障碍。
script

加载或卸载配置集时,执行外部脚本或二进制代码。您可以选择任意可执行文件。

重要

script 插件主要被用来与更早的版本兼容。如果其他 TuneD 插件涵盖所需的功能,则首选其他 TuneD 插件。

TuneD 使用以下参数之一调用可执行文件:

  • 在载入配置集时 start
  • 在卸载配置集时 stop

您需要在可执行文件中正确实施 stop 操作,并恢复您在 start 操作过程中更改的所有设置。否则,在更改 TuneD 配置集后回滚步骤将无法正常工作。

Bash 脚本可以导入 /usr/lib/tuned/functions Bash 库,并使用那里定义的功能。只在由 TuneD 原生提供的功能中使用这些功能。如果函数名称以下划线开头,如 _wifi_set_power_level,请考虑函数私有且不要在脚本中使用,因为它可能会在以后有所变化。

使用插件配置中的 script 参数指定可执行文件的路径。

例 2.6. 从配置集运行 Bash 脚本

要运行位于配置集目录中的 script.sh 的 Bash 脚本,请使用:

[script]
script=${i:PROFILE_DIR}/script.sh
sysfs

设置由插件选项指定的各种 sysfs 设置。

语法为 name=value,其中 name 是要使用的 sysfs 路径。

如果需要更改其他插件未涵盖的一些设置,请使用此插件。如果插件涵盖所需的设置,则首选插件。

video

在视频卡中设置各种电源保存级别。目前,只支持 Radeon 卡。

可以使用 radeon_powersave 选项指定节能级别。支持的值有:

  • default
  • auto
  • mid
  • high
  • dynpm
  • dpm-battery
  • dpm-balanced
  • dpm-perfomance

详情请查看 www.x.org。请注意,此插件是实验性的,选项可能会在以后的版本中有所变化。

bootloader

在内核命令行中添加选项。这个插件只支持 GRUB 2 引导装载程序。

grub2_cfg_file 选项指定 GRUB 2 配置文件的自定义非标准位置。

内核选项会添加到当前 GRUB 配置及其模板中。需要重新引导系统才能使内核选项生效。

切换到另一个配置集或手动停止 tuned 服务会删除附加选项。如果您关闭或重启系统,则 kernel 选项会在 grub.cfg 文件中保留。

内核选项可使用以下语法指定:

cmdline=arg1 arg2 ... argN

例 2.7. 修改内核命令行

例如,要将 quiet kernel 选项添加到 TuneD 配置集中,请在 tuned.conf 文件中包括以下行:

[bootloader]
cmdline=quiet

以下是在内核命令行中添加 isolcpus=2 选项的自定义配置集示例:

[bootloader]
cmdline=isolcpus=2