通过配置透明大页,提高kvm的性能

每个进程都有自己的虚拟内存,需要对应到物理内存,这种映射关系被缓存在一个硬件中,这个硬件就是TLB(旁路转换缓冲),它是CPU缓存。

通过TLB,使用大页可以提高CPU的命中率, 所以如果guestos使用大内存或者内存负载比较重的情况下,通过配置透明大页(transparent large page, TLP)可以显著提高性能。

在RHEL里,大页的大小可以是2M,1G.默认情况下,已经开启了透明大页功能:

 

默认情况下,大页的数目为0,通过下面的方式可以查看到:

 

或者:

 

设置系统的大页数量:

 

让其重启系统之后也能继续生效:

 

此时系统有2000个可用大页。

 

挂载大页:

 

重启libvirtd

 

可以看到,默认情况下即使虚拟机正常运行也是不会使用大页的。

 

如果想让哪个guest os使用大页来提高性能的话,那么在关闭虚拟机的情况下,编辑这个虚拟机的配置文件,添加如下内容:

 

 

从上图也可以看到vm1的内存大小为1G。

开启虚拟机看结果:

 

消耗了520个大页,每个大页默认大小为2M,正好是vm1所有的内存。

如果关闭vm1的话,所有大页将被释放:


你可能感兴趣的:(kvm)