一、KVM为什么要调优
性能的损耗是关键.KVM采用全虚拟化技术,全虚拟化要由一个软件来模拟硬件,故有一定的损耗,特别是I/O,因此需要优化。
KVM性能优化主要在CPU、内存,I/O这几方面。当然对于这几方面的优化,也是要分场景的,不同的场景其优化方向也是不同的。
二,KVM优化思路及步骤
KVM的性能已经很不错了,但还有一些微调措施可以进一步提高KVM的性能
<强> 1,CPU的优化强>
要考虑CPU的数量问题,所有guestcpu的总数目不要超过物理机CPU的总数目。如果超过,则将对性能带来严重影响,建议选择复制主机CPU配置。
<强> 2,内存的优化强>
(1) KSM(内核Samepage合并,相同页合并)
内存分配的最小单位是页页(面),默认大小是4 KB,可以将宿主机内容相同的内存合并,以节省内存的使用,特别是在虚拟机操作系统都一样的情况下,肯定会有很多内容相同的内存值,开启了KSM,则会将这些内存合并为一个,当然这个过程会有性能损耗,所以开启与否,需要考虑使用场景。
而KSM对KVM环境有很重要的意义,当KVM上运行许多相同系统的客户机时,客户机之间将有许多内存页是完全相同的,特别是只读的内核代码页完全可以在客户机之间共享,从而减少客户机占用的内存资源,能同时运行更多的客户机。
KSM会稍微影响系统性能,以效率换空间,如果系统的内存很宽裕,则无须开启KSM,如果想尽可能多地并行运行KVM客户机,则可以打开KSM。
<代码>我/sys/Kernel/mm/KSM///查看内核信息代码>
<代码> virsh memtune c01——硬限制1024000生活//设置强制最大内存并且在线生效 virsh memtune c01//查看代码>