收藏本页 | 设为主页 | RSS
LOGO

我就上乐乐吧

虽然基于内核的虚拟机(KVM)被设计为参数自调优,但还是可以手动来调整一些参数使KVM主机性能更好[同样机型可以运行更多虚拟机]。其中调优最重要的参数就是...

您当前的位置:首页 » 技术杂萃
全站公告
重要提示!

本站收集各类美图,以无LOGO原汁原味图为主!欢迎大家交流。
怕失联,请认准如下地址:
微博:传送门
土豆:传送门
电报:传送门
微信:superimagelove
花瓣:传送门
Q群1:231151757
Q群2:583138281
文件解压密码:593668.com
热心赞助

站内搜索
 
相关文章
热门文章
热搜词组
文章归档
友情链接
使用KSM调整KVM虚拟机主机性能

发布日期:2019-12-31  关键词: Linux KVM

虽然基于内核的虚拟机(KVM)被设计为参数自调优,但还是可以手动来调整一些参数使KVM主机性能更好[同样机型可以运行更多虚拟机]。其中调优最重要的参数就是内核同页合并(kernel samepage merging ,KSM),这一特性说白了就是允许内核能更有效地处理内存。KSM,按照字面意思来说,就是如果有相同内容的内存页,那么就合并,将数据整合在一个位置可以多次引用。

如果在宿主机上使用KVM,通常会创建很多个操作类型相同的虚拟机,这就意味着大量的内核页面会被多次加载。但是通过应用KSM,许多虚 拟机可以使用相同地址的内存启动。事实上,KSM也允许虚拟机过度分配内存。

请明白这一点,使用KSM肯定存在性能损失,在一般的环境中,性能损失大概是10%,这也是在某些环境中关闭KSM的原因。一般情况下,KSM默认是打开的。

KSM一般通过两个服务:ksmd和ksmtuned来实现,这两个服务在系统初始化时就自动启动。可以根据条件来判断是关闭还是开启KSM。

如果是想运行尽可能多的虚拟机,而且机器性能也不是问题,那么就打开KSM较好,毕竟这意味着最大化硬件使用效率。但是,如果服务器虚拟出来的机器较少,且性能不怎么好的情况下,就应该关闭KSM。

判断的标准其实也很简单,对任何系统来说,最佳选择都取决于创建虚拟机时的内存估算。如果在宿主机中已有足够的物理内存,那就没有必要开启KSM。

停止服务并关闭自启命令如下:
chkconfig ksmd off
chkconfig ksmtuned off
service ksmd stop
service ksmtuned stop

但是如果主机内存实在紧张,又想尽可能多的虚拟主机出来,那么就最好保持KSM处于运行状态。

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

#优化调整之间应休眠多长时间
KSM_MONITOR_INTERVAL=60
#在扫描服务器之间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。使用的默认值是大型服务器的设置值。当运行较少的虚拟机,使用KSM时就最好让主机休眠更长的时间。

例如,尝试设置一步步加大间隔
KSM_SLEEP_MSEC=50

然后根据测试对虚拟机的影响,来一步步调优相关参数就好。
猜您喜欢:
Q群: 231151757微信:superimagelove 官网:www.593668.com