Linux使用入门教程之tuned
tuned是RHEL6推出的调优工具,可以简单、动态的调整系统。默认的tuned软件包包含9个调优配置文件,对laptop、desktop、server系统的省电策略、磁盘调度算法、缓存、内存脏页回写等等的调节。
tuned包安装后有两个服务,tuned和ktune,chkconfig查看默认是off状态,可以通过chkconfig和service手动开启。在配置好profile后,执行tuned-adm profile xxx切换配置的时候也会自动的开启这两个服务。
tuned的配置文件保存在/etc/tuned-profiles目录,可以通过 tuned-adm list 查看可用配置文件列表,以及当前应用的配置文件。
[root@desktop7 ~]# tuned-adm list
Available profiles:
- server-powersave
- laptop-battery-powersave
- laptop-ac-powersave
- default
- throughput-performance
- latency-performance
- spindown-disk
- desktop-powersave
- enterprise-storage
Current active profile: default
配置文件中一般包括ktune.sysconfig sysctl.ktune tuned.conf ktune.sh
ktune.sysconfig ktune的开关选项在此,它也用于调整I/O调度算法
[root@desktop7 desktop-powersave]# egrep -v '^$|^#' ktune.sysconfig
USE_KTUNE_D="yes" #启用ktune
SYSCTL_POST="/etc/sysctl.conf" #sysctl配置文件位置
ELEVATOR="deadline" #电梯算法指定为deadline
ELEVATOR_TUNE_DEVS="/sys/block/{sd,cciss,dm-}*/queue/scheduler"
#指定电梯算法作用范围,sd*、cciss*(据说是HP的scsi磁盘)、dm-*。也可以自行添加比如vda、hda
ktune.sh 配置文件加载和卸载时执行的脚本,默认配置中会包含一些CPU、内存调优的函数调用,这些函数在 /etc/tune-profiles/functions 中。可以自定义加入一些调优的shell命令,或者加入一些提示信息显示(比如wall)
[root@desktop7 laptop-ac-powersave]# cat ktune.sh
#!/bin/sh
. /etc/tune-profiles/functions
start() {
#启用配置文件时执行以下脚本,自定义修改时需要保留的主体结构
set_disk_alpm min_power
enable_wifi_powersave
return 0 #表示脚本正常执行,自定义修改时需要保留
}
stop() {
#停用配置文件时执行以下脚本,自定义修改时需要保留的主体结构
set_disk_alpm max_performance
disable_wifi_powersave
return 0 #表示脚本正常执行,自定义修改时需要保留
}
process $@ #自定义修改时需要保留的主体结构
sysctl.ktune 主要对kernel进行调优,修改的内容就是通过sysctl配置的内容,可以在配置文件中自行添加
[root@desktop7 enterprise-storage]# egrep -v '^#|^$' sysctl.ktune
kernel.sched_min_granularity_ns = 10000000
kernel.sched_wakeup_granularity_ns = 15000000
vm.dirty_ratio = 40
tuned.conf tuned 省电模式插件的监控和调节开关,一般包括以下几项
[root@desktop7 desktop-powersave]# egrep -v '^#|^$' tuned.conf
[main]
[DiskMonitor] #启用磁盘监控
[DiskTuning] #启用磁盘调节
[NetMonitor] #启用网络监控
[NetTuning] #启用网络调节
[CPUMonitor] #启用CPU监控
[CPUTuning] #启用CPU调节
#如果需要关闭,在选项下面设置enabled=false
#还有其他一些功能参数,比如 alpm=False 关闭sata的alpm
tuned-adm active 查询当前加载的profile,以及tuned和ktune守护进程状态
tuned-adm off 关闭tuned
tuned-adm profile xxxx 加载配置文件
默认情况下,可用的配置文件如下
- default
默认设置,影响最小的省电设置,适用于少量的读写操作,比如邮件服务器
- desktop-powersave
桌面系统的省电模式,启用SATA的ALPM省电设置,同时也会启用CPU、网络、磁盘的调节插件
- server-powersave
服务器系统的省电模式,启用SATA的ALPM省电设置,关闭光驱实时监测,启用CPU和磁盘的调节插件
- laptop-ac-powersave
笔记本电源模式,中等影响的省电设置,启用SATA的ALPM省电设置,启用CPU、WIFI省电模式,同时也会启用CPU、网络、磁盘的调节插件
- laptop-battery-powersave
笔记本电池模式,最大化省电设置,关闭声卡、光驱等等,对wifi启用省电模式,磁盘和网络的性能受到影响,I/O延时变高
- spindown-disk
用于传统机械磁盘,尽量减少磁盘旋转,增加writeback值,减少使用交换,关闭日志实时写入,所有分区以noatime(不更新最后访问时间)的方式重新挂载。关闭省电模式插件。是一个比较特殊的节电模式,适合于不经常使用的服务器(比如跳板机),或磁盘负荷超过标准的服务器。
- throughput-performance
吞吐量优化。关闭省电模式;调节一些sysctl用来提高磁盘和网络的吞吐量;启用内存大页;调节CPU为性能模式;切换磁盘调度模式为deadline。适用于使用中低端存储的虚拟化主机。
- latency-performance
延时优化。关闭省电模式;调节一些sysctl用来降低网络延时;切换磁盘调度模式为deadline;调节CPU为性能模式。适用于数据库服务器
- enterprise-storage
极大提高I/O吞吐量的模式。切换磁盘调度模式为deadline;在非根和非boot分区上关闭I/O barriers(极大的提高I/O吞吐量,但是掉电后会产生文件丢失);启用4倍readahead;
如果要创建自定义的配置文件,建议基于 laptop-battery-powersave (省电目的) 或 throughput-performance (性能优化) 的拷贝,然后编辑。