使用 tuned/tuned-adm 工具动态调优系统

使用 tuned/tuned-adm 工具动态调优系统

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/tuned-adm 工具动态调优系统

系统的性能优化是个很大的话题,如果对这方面感兴趣可以参考 Linux 性能监测专题

安装和启动 tuned:


  1. # yum update
  2. # yum install tuned
  3.  
  4. # service tuned start
  5. # chkconfig tuned on
  6.  
  7. # service ktune start
  8. # chkconfig ktune on

查看当前优化方案:


  1. # tuned-adm active
  2. Current active profile: default
  3. Service tuned: enabled, running
  4. Service ktune: enabled, running

查看预先配置好的优化方案:


  1. # tuned-adm list
  2. Available profiles:
  3. - laptop-battery-powersave
  4. - virtual-guest
  5. - desktop-powersave
  6. - sap
  7. - server-powersave
  8. - virtual-host
  9. - throughput-performance
  10. - enterprise-storage
  11. - laptop-ac-powersave
  12. - latency-performance
  13. - spindown-disk
  14. - default
  15. Current active profile: default

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


  1. # tuned-adm profile virtual-host
  2. Reverting to saved sysctl settings: [ OK ]
  3. Calling '/etc/ktune.d/tunedadm.sh stop': [ OK ]
  4. Reverting to cfq elevator: sda sdb sdc sdd sde sdf sdg [ OK ]
  5. Stopping tuned: [ OK ]
  6. Switching to profile 'virtual-host'
  7. Applying deadline elevator: sda sdb sdc sdd sde sdf sdg [ OK ]
  8. Applying ktune sysctl settings:
  9. /etc/ktune.d/tunedadm.conf: [FAILED]
  10. error: "kernel.sched_migration_cost" is an unknown key
  11.  
  12. Calling '/etc/ktune.d/tunedadm.sh start': [ OK ]
  13. Applying sysctl settings from /etc/sysctl.conf
  14. Starting tuned: [ OK ]
  15.  
  16. # vi /etc/tune-profiles/virtual-host/sysctl.ktune
  17. ...
  18. #kernel.sched_migration_cost = 5000000
  19. ...
  20.  
  21. # tuned-adm profile virtual-host

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


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

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


  1. # cd /etc/tune-profiles/
  2. # cp -r virtual-host my-virtual-host
  3. # vi my-virtual-host/*
  4.  
  5. # tuned-adm list
  6. Available profiles:
  7. - laptop-battery-powersave
  8. - virtual-guest
  9. - desktop-powersave
  10. - sap
  11. - server-powersave
  12. - virtual-host
  13. - throughput-performance
  14. - enterprise-storage
  15. - laptop-ac-powersave
  16. - latency-performance
  17. - spindown-disk
  18. - default
  19. - my-virtual-host
  20. Current active profile: virtual-host

----------------------------------------------------------------------------------------------------------------------------

原文发布时间:2015-02-27
本文来自云栖合作伙伴“linux中国”
上一篇:DTrace Probes in HotSpot VM----java


下一篇:运营商软件开发步入公有云时代