Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

3.2. 使用 tuned 和 tuned-adm 进行性能调优

tuned 调优服务可以通过设置调优配置文件来调整操作系统,以便在特定工作负载下更好地执行。tuned-adm 命令行工具允许用户在不同的调优配置文件间切换。

tuned Profiles 概述

一些预定义的配置集包括在常见用例中,但 tuned 还允许您定义自定义配置集,该配置集可以基于预定义的配置集之一,或者从头开始定义。在 Red Hat Enterprise Linux 7 中,默认配置集是 throughput-performance
tuned 提供的配置集分为两个类别:节能配置集和性能提升配置集。性能提升配置集包括侧重于以下方面的配置集:
  • 存储和网络的低延迟
  • 存储和网络的高吞吐量
  • 虚拟机性能
  • 虚拟化主机性能

调优的 Boot Loader 插件

您可以使用 tuned Bootloader 插件在内核 (boot 或 dracut)命令行中添加参数。请注意,仅支持 GRUB 2 引导装载程序,并且需要重新启动才能应用配置集更改。例如,要将 quiet 参数添加到 tuned 配置集中,请在 tuned.conf 文件中包括以下行:
[bootloader]
cmdline=quiet
切换到另一个配置集或手动停止 tuned 服务会删除附加参数。如果您关闭或重启系统,则内核参数会在 grub.cfg 文件中保留。

环境变量和扩展调整的内置功能

如果您在更新 GRUB 2 配置后运行 tuned-adm profile profile_name,然后 grub2-mkconfig -o profile_path,您可以使用 Bash 环境变量(在运行 grub2-mkconfig 后扩展)。例如,以下环境变量被扩展到 nfsroot=/root
[bootloader]
cmdline="nfsroot=$HOME"
您可以使用 tuned 变量作为环境变量的替代选择。在以下示例中,${isolated_cores} 扩展至 1,2,因此内核使用 isolcpus=1,2 参数引导:
[variables]
isolated_cores=1,2

[bootloader]
cmdline=isolcpus=${isolated_cores}
在以下示例中,${non_isolated_cores} 扩展至 0,3-5,使用 0,3-5 参数调用 cpulist_invert 内置功能:
[variables]
non_isolated_cores=0,3-5

[bootloader]
cmdline=isolcpus=${f:cpulist_invert:${non_isolated_cores}}
cpulist_invert 函数反转 CPU 列表。对于 6-CPU 机器,inversion 为 1,2,内核使用 isolcpus=1,2 命令行参数引导。
使用 tuned 环境变量可减少所需输入的数量。您还可以将各种内置功能与 tuned 变量一起使用。如果内置功能无法满足您的需要,您可以在 Python 中创建自定义功能,并以插件的形式将它们添加到 tuned 中。在激活调优配置集时,变量和内置功能会在运行时扩展。
这些变量可以在单独的文件中指定。例如,您可以在 tuned.conf 中添加以下行:
[variables]
include=/etc/tuned/my-variables.conf

[bootloader]
cmdline=isolcpus=${isolated_cores}
如果您将 isolated_cores=1,2 添加到 /etc/tuned/my-variables.conf 文件中,则内核使用 isolcpus=1,2 参数引导。

修改默认系统调优配置集

修改默认系统 调优配置文件 的方法有两种。您可以创建新的调优配置集目录,或者复制系统配置文件的目录,并根据需要编辑配置集。

过程 3.1. 创建新调优配置集目录

  1. /etc/tuned/ 中,创建名为与您要创建的配置文件相同的新目录: /etc/tuned/my_profile_name/
  2. 在新目录中,创建一个名为 tuned.conf 的文件,并在顶部包括以下行:
    [main]
    include=profile_name
  3. 包括您的配置集修改。例如,要使用 throughput-performance 配置集中的设置,其值为 vm.swappiness 设置为 5,而不是默认值 10,请包含以下行:
    [main]
    include=throughput-performance
    
    [sysctl]
    vm.swappiness=5
    
  4. 要激活配置集,请运行:
    # tuned-adm profile my_profile_name
使用新的 tuned.conf 文件创建目录后,您可以在系统 调优配置集 更新后保留所有配置集修改。
或者,使用系统配置文件将目录从 /user/lib/tuned/ 复制到 /etc/tuned/。例如:
# cp -r /usr/lib/tuned/throughput-performance /etc/tuned
然后,根据您的需要编辑 /etc/tuned 中的配置集。请注意,如果同一名称有两个配置集,则会加载位于 /etc/tuned/ 中的配置集。这种方法的缺点是,如果在 tuned 升级后更新系统配置文件,则更改不会反映在现已修改的版本中。

资源

如需更多信息,请参阅 第 A.4 节 “tuned”第 A.5 节 “tuned-adm”。有关使用 tunedtuned-adm 的详情,请查看 tuned(8)tuned-adm(1) 手册页。