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. 创建新调优配置集目录
- 在
/etc/tuned/
中,创建名为与您要创建的配置文件相同的新目录:/etc/tuned/my_profile_name/
。 - 在新目录中,创建一个名为
tuned.conf
的文件,并在顶部包括以下行:[main] include=profile_name
- 包括您的配置集修改。例如,要使用
throughput-performance
配置集中的设置,其值为vm.swappiness
设置为 5,而不是默认值 10,请包含以下行:[main] include=throughput-performance [sysctl] vm.swappiness=5
- 要激活配置集,请运行:
# 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”。有关使用 tuned 和 tuned-adm 的详情,请查看 tuned(8) 和 tuned-adm(1) 手册页。