RHEL/CentOS 在 6.3 版本以后引入了一套新的系统调优工具 tuned/tuned-adm,其中 tuned 是服务端程序,用来监控和收集系统各个组件的数据,并依据数据提供的信息动态调整系统设置,达到动态优化系统的目的;tuned-adm 是客户端程序,用来和 tuned 打交道,用命令行的方式管理和配置 tuned,tuned-adm 提供了一些预先配置的优化方案可供直接使用,比如:笔记本、虚拟机、存储服务器等。
如果你正在使用笔记本(电池电源),想优化系统、节约电源又不想知道太多这方面的细节,就可以用 tuned/tuned-adm 这套工具并应用 laptop-battery-powersave 方案来调整和优化系统。当然不同的系统和应用场景有不同的优化方案,tuned-adm 预先配置的优化策略不是总能满足要求,这时候就需要定制,tuned-adm 允许用户自己创建和定制新的调优方案。

安装Tuned

在RHEL、CentOS 8/7 Linux系统中,tuned软件包是默认安装并启用的,如果要在CentOS/RHEL机器上手动安装并启用软件包,请运行以下命令:

sudo yum install tuned

sudo systemctl enable --now tuned

在Ubuntu、Debian下:

sudo apt update

sudo apt install tuned tuned-utils tuned-utils-systemtap

启动后确认服务状态:

$ systemctl status tuned

在这里插入图片描述

查看预先配置好的优化方案:
# tuned-adm list

balanced:非常适合在节能和性能之间寻求折衷的系统。

desktop:源自平衡配置文件,提供交互式应用程序的更快响应。

throughput-performance:调整系统以获得最大吞吐量。

latency-performance:对于要求低延迟,以功耗为代价的服务器系统的理想选择。

network-latency:源自延迟性能配置文件,它启用其他网络调整参数以提供较低的网络延迟。

network-throughput:从吞吐量性能概要文件得出,附加的网络调整参数适用于最大的网络吞吐量。

powersave:调整系统以最大程度地节省电力。

oracle:基于吞吐量性能概要文件针对Oracle数据库负载进行了优化。

virtual-guest:优化以在虚拟访客中运行。

virtual-host:如果用于运行KVM guest虚拟机,请调整系统以获得最佳性能。

选择调整配置文件

调整的配置文件包含性能提升配置文件,性能提升配置文件包括侧重于:存储和网络的低延迟、高吞吐量的存储和网络、虚拟主机性能、虚拟机性能的配置文件。

我们将使用tuned-adm命令来更改已调整守护程序的设置。

查看当前优化方案

$ tuned-adm active

Current active profile: virtual-guest

在Ubuntu上,可以使用更多配置文件,如下:

$ tuned-adm list

在Linux下安装tuned以使用tuned-adm命令优化Linux系统性能

tuned-adm配置文件命令用于将活动配置文件切换到其他配置文件,此示例将调整我们的系统以实现最大吞吐量:

sudo tuned-adm profile throughput-performance

确认当前配置文件:

$ sudo tuned-adm active

Current active profile: throughput-performance

检查系统推荐的调整配置文件

tuned-adm命令还可以建议系统的调整配置文件,这基于各种系统特征,包括系统是否为虚拟机以及在系统安装期间选择的其他预定义类别:

$ tuned-adm recommend

virtual-guest

然后,您可以将个人资料设置为推荐值:

sudo tuned-adm profile virtual-guest

要查看配置文件详细信息,请运行:

$ tuned-adm profile_info virtual-guest

在Linux下安装tuned以使用tuned-adm命令优化Linux系统性能

同时,您还可以使用Cockpit Web控制台管理调整配置文件,参考在CentOS 8上安装Cockpit及访问Cockpit Web控制台的方法。

关闭个人资料

要恢复当前配置文件所做的设置更改,请切换到另一个配置文件或停用已调谐的守护程序。

使用tuned-adm off命令关闭已调优的调整活动:

$ tuned-adm off

使用以下命令确认:

$ tuned-adm active
示例

如果服务器是虚拟机母机的话,可以选用 virtual-host 方案优化。如果报错 “kernel.sched_migration_cost” is an unknown key 可以通过编辑 sysctl.ktune 这个文件解决。

# tuned-adm profile virtual-host
Reverting to saved sysctl settings: [ OK ]
Calling '/etc/ktune.d/tunedadm.sh stop': [ OK ]
Reverting to cfq elevator: sda sdb sdc sdd sde sdf sdg [ OK ]
Stopping tuned: [ OK ]
Switching to profile 'virtual-host'
Applying deadline elevator: sda sdb sdc sdd sde sdf sdg [ OK ]
Applying ktune sysctl settings:
/etc/ktune.d/tunedadm.conf: [FAILED]
error: "kernel.sched_migration_cost" is an unknown key

Calling '/etc/ktune.d/tunedadm.sh start': [ OK ]
Applying sysctl settings from /etc/sysctl.conf
Starting tuned: [ OK ]

# vi /etc/tune-profiles/virtual-host/sysctl.ktune
...
#kernel.sched_migration_cost = 5000000
...

如果是企业存储服务器的话,可以用 enterprise-storage 方案:

# tuned-adm profile enterprise-storage
Stopping tuned: [ OK ]
Switching to profile 'enterprise-storage'
Applying deadline elevator: dm-0 sda sdb sdc sdd [ OK ]
Applying ktune sysctl settings:
/etc/ktune.d/tunedadm.conf: [ OK ]
Calling '/etc/ktune.d/tunedadm.sh start': [ OK ]
Applying sysctl settings from /etc/sysctl.conf
Starting tuned: [ OK ]

上面预定的方案不是总能满足要求,如果有自己的需求可以定制自己的方案。自己定制很容易,切换到优化方案的配置目录,拷贝一个例子,然后编辑里面的相关参数就可以了,使用 tuned-adm list 命令会看到刚创建的新方案 my-virtual-host:

# cd /etc/tune-profiles/
# cp -r virtual-host my-virtual-host
# vi my-virtual-host/*

# tuned-adm list
Available profiles:
- laptop-battery-powersave
- virtual-guest
- desktop-powersave
- sap
- server-powersave
- virtual-host
- throughput-performance
- enterprise-storage
- laptop-ac-powersave
- latency-performance
- spindown-disk
- default
- my-virtual-host
Current active profile: virtual-host

参考文章:
https://www.ywnz.com/linuxml/6526.html
https://www.cnblogs.com/createyuan/p/5701650.html

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐