如何调整KSM提升KVM性能?

日期: 2011-06-12 作者:Sander van Vugt翻译:张冀川 来源:TechTarget中国 英文

虽然基于内核的虚拟机(KVM)被设计为自调优,但是可以调整一些参数使KVM主机性能更好。最重要的参数是内核同页合并(kernel samepage merging ,KSM),这一特性允许内核更有效地处理内存。KSM允许Linux内核识别出包含相同内容的内存页,然后合并这些内存页,将数据整合在一个位置可以多次引用。   如果在主机上使用KVM,通常会激活数个客户操作系统,而且这些操作系统经常运行相同的OS,这意味着大量的内核页面被多次加载。

通过应用KSM,许多虚拟机可以使用相同数量的内存启动。事实上,KSM允许虚拟机过度分配内存。但是使用KSM存在性能损失,在一般的环境中,性能损失大概是10%……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

虽然基于内核的虚拟机(KVM)被设计为自调优,但是可以调整一些参数使KVM主机性能更好。最重要的参数是内核同页合并(kernel samepage merging ,KSM),这一特性允许内核更有效地处理内存。KSM允许Linux内核识别出包含相同内容的内存页,然后合并这些内存页,将数据整合在一个位置可以多次引用。

  如果在主机上使用KVM,通常会激活数个客户操作系统,而且这些操作系统经常运行相同的OS,这意味着大量的内核页面被多次加载。通过应用KSM,许多虚拟机可以使用相同数量的内存启动。事实上,KSM允许虚拟机过度分配内存。但是使用KSM存在性能损失,在一般的环境中,性能损失大概是10%,这也是在某些环境中关闭KSM的原因。

  在RHEL 6和Fedora 14中,KSM默认是打开的。KSM通过两个服务:ksmd和ksmtuned实现,这两个服务在系统初始化时自动启动。管理员应该判断他们的环境并决定保持KSM处于运行状态还是关闭它。

  决定使用KSM还是关闭

  如果目标是运行尽可能多的虚拟机,而且性能不是问题,应该保持KSM处于运行状态。例如KSM允许运行30个虚拟机的主机上运行40个虚拟机,这意味着最大化硬件使用效率。但是,如果服务器在运行相对较少的虚拟机并且性能是个问题时,那么应该关闭KSM。

  对任何系统来说,最佳选择将取决于创建虚拟环境时的内存估算。如果在虚拟主机中有足够的物理内存,在没有开启KSM时就能够满足虚拟机的内存需求,那么最好关闭KSM。使用chkconfig ksmd off, chkconfig ksmtuned off, service ksmd off and service ksmtuned off 命令关闭KSM。但是如果主机内存紧张,那么最好保持KSM处于运行状态。

  优化KSM达到最佳性能

  使用KSM时,可以优化一些参数以达到最佳性能。这些参数位于一个小的配置文件/etc/ksmtuned.conf中:

#优化KSM的配置文件
#优化调整之间应休眠多长时间
# KSM_MONITOR_INTERVAL=60
#在扫描16Gb服务器之间ksm休眠的毫秒数
#内存较小的服务器休眠的时间更长,内存较大的服务器休眠时间更短。
# KSM_SLEEP_MSEC=10
# KSM_NPAGES_BOOST=300
# KSM_NPAGES_DECAY=-50
# KSM_NPAGES_MIN=64
# KSM_NPAGES_MAX=1250
# KSM_THRES_COEF=20
# KSM_THRES_CONST=2048
#如果你想获取优化KSM的调试信息,取消以下注释
# LOGFILE=/var/log/ksmtuned
# DEBUG=1

  配置文件中最重要的参数是KSM_SLEEP_MSEC。Fedora 14使用的默认值是大型服务器的设置值。当在主机上运行较少的虚拟机,使用KSM时最好让主机休眠更长的时间。例如,尝试设置KSM_SLEEP_MSEC=50,然后测试对虚拟机的影响。

翻译

张冀川
张冀川

TechTarget中国特约专家,任职于某国企信息中心,负责数据中心硬件基础设施及信息系统运维管理工作,对虚拟化及云计算技术有浓厚兴趣,并在工作中积极应用