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

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

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

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

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

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

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

或者:

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

设置系统的大页数量:

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

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

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

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

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

挂载大页:

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

重启libvirtd

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

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

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

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

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

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

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

开启虚拟机看结果:

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

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

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

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

相关新闻

发表回复

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据

                                                                                                                                    RHCE9学习指南连载,点击阅读