最佳实践
大页配置
概述
StratoVirt支持为虚拟机配置内存大页,相比传统的4K内存分页模式,大页内存可以有效减少TLB Miss次数和缺页中断次数,能够显著提升内存密集型业务性能。
注意事项
- 指定的大页挂载的目录,必须是绝对路径。
- 仅支持在启动时配置。
- 仅支持静态大页。
- 使用大页前, 在Host上需要配置好大页。
- 使用大页特性, 指定虚拟机内存规格必须是大页页面大小的整数倍。
互斥特性
- 如果配置大页,balloon特性失效。
配置方式
配置Host上大页
挂载
将大页文件系统挂载到指定目录上,其中/path/to/hugepages
为用户自定义的空目录。
$ mount -t hugetlbfs hugetlbfs /path/to/hugepages
设置大页数目
设置静态大页数目,
num
为指定的大页数目$ sysctl vm.nr_hugepages=num
查询大页统计信息
$ cat /proc/meminfo | grep Hugepages
如果需要查看其他页面大小的大页统计信息, 可以查看
/sys/kernel/mm/hugepages/hugepages-*/
目录下相关信息。
须知:
请根据大页使用情况,配置StratoVirt内存规格和大页。如果大页资源不足,虚拟机会启动失败。
启动StratoVirt时添加大页配置
命令行
-mem-path /page/to/hugepages
其中
/page/to/hugepages
为大页文件系统挂载的目录,仅支持绝对路径。Json文件
{ "machine-config": { "mem_path": "/page/to/hugepages", ... }, ... }
其中
/page/to/hugepages
为大页文件系统挂载的目录,仅支持绝对路径。
注意:
典型配置:指定StratoVirt命令行中的mem-path项为:大页文件系统挂载的目录。 推荐使用典型配置使用StratoVirt大页特性。
性能提升
内存底噪
为了实现最佳的内存底噪,开发者可以使用stratovirt主页的wiki提供的方法进行编译与测试:
冷启动时间
同时为了降低冷启动时间,也可以使用wiki上提供的方法进行编译测试:
文档捉虫