优化系统
系统管理员可以通过根据各种用例工作负载调整各种设备设置来优化系统性能。
调整后的守护进程使用反映特定工作负载要求的调整配置文件静态和动态地应用调整调整。
配置静态调优
当服务启动或者选择新的优化配置文件时,tuned 守护进程应用系统设置。
静态调整在运行时应用调整的配置文件中配置预定义的内核参数。
使用静态调优,内核参数是针对整体性能预期设置的,不会随着活动级别的变化而调整。
配置动态调整
通过动态调整,调整后的守护进程会监视系统活动并根据运行时行为的变化调整设置。
动态调整会不断调整调整以适应当前工作负载,从所选调整配置文件中声明的初始设置开始。
例如,存储设备在启动和登录期间使用率高,但在用户工作负载包括使用 Web 浏览器和电子邮件客户端时活动最少。
同样,在整个工作日的高峰使用期间,CPU 和网络设备的活动会增加。
调整后的守护进程监视这些组件的活动并调整参数设置以在高活动期间最大化性能并在低活动期间减少设置。
调整后的守护进程使用预定义的调整配置文件中提供的性能参数。
选择调优的配置文件
Tuned 应用程序提供分为以下类别的配置文件:
- 省电配置文件
- 性能提升配置文件
性能提升配置文件包括侧重于以下方面的配置文件:
- 存储和网络的低延迟
- 存储和网络的高吞吐量
- 虚拟机性能
- 虚拟化主机性能
随 CentOS/RHEL 8 分发的调优配置文件
TUNED PROFILE | 目的 |
---|---|
balanced | 非常适合需要在节能和性能之间进行折衷的系统。 |
desktop | 源自平衡的配置文件。 提供更快的交互式应用程序响应。 |
throughput-performance | 调整系统以获得最大吞吐量。 |
latency-performance | 非常适合需要以功耗为代价的低延迟的服务器系统。 |
network-latency | 源自延迟性能配置文件。 它启用另外的网络调整参数以提供低网络延迟。 |
network-throughput | 源自吞吐量性能配置文件。 应用另外的网络调整参数以实现最大网络吞吐量。 |
powersave | 调整系统以最大程度地节省电力。 |
oracle | 根据吞吐量-性能配置文件针对 Oracle 数据库负载进行了优化。 |
virtual-guest | 如果系统在虚拟机上运行,则调整系统以获得最大性能。 |
virtual-host | 如果系统充当虚拟机的主机,则调整系统以获得最大性能。 |
从命令行管理配置文件
使用tuned-adm 命令更改tuned 守护进程的设置。
Tuned-adm 命令可以查询当前设置、列出可用配置文件、为系统推荐一个调整配置文件、直接更改配置文件或者关闭调整。
系统管理员使用tuned-adm active 标识当前活动的调整配置文件。
[root@host ~]# tuned-adm active Current active profile: virtual-guest
tuned-adm list 命令列出所有可用的调整配置文件,包括内置配置文件和系统管理员创建的自定义调整配置文件。
[root@host ~]# tuned-adm list Available profiles: - balanced - desktop - latency-performance - network-latency - network-throughput - powersave - sap - throughput-performance - virtual-guest - virtual-host Current active profile: virtual-guest
使用tuned-adm profile profilename 将活动配置文件切换到另一个更符合系统当前调整要求的配置文件。
[root@host ~]$ tuned-adm recommend virtual-guest
注意:tuned-adm 推荐输出是基于各种系统特性,包括系统是否是虚拟机以及系统安装时选择的其他预定义类别
要恢复当前配置文件所做的设置更改,请切换到另一个配置文件或者停用已调整的守护程序。
使用tuned-adm off 关闭微调活动。
[root@host ~]$ tuned-adm off [root@host ~]$ tuned-adm active No current active profile.
安装和启用调优
一个最小的 CentOS/RHEL 8 安装包括并默认启用调整包。
要手动安装和启用软件包:
[root@host ~]$ yum install tuned [root@host ~]$ systemctl enable --now tuned Created symlink /etc/systemd/system/multi-user.target.wants/tuned.service → /usr/lib/systemd/system/tuned.service.