最佳实践

大页配置

概述

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提供的方法进行编译与测试:

https://gitee.com/openeuler/stratovirt/wikis/%E6%80%A7%E8%83%BD%E6%B5%8B%E8%AF%95-%E5%86%85%E5%AD%98%E5%BA%95%E5%99%AA?sort_id=3879743

冷启动时间

同时为了降低冷启动时间,也可以使用wiki上提供的方法进行编译测试:

https://gitee.com/openeuler/stratovirt/wikis/%E6%80%A7%E8%83%BD%E6%B5%8B%E8%AF%95-%E5%86%B7%E5%90%AF%E5%8A%A8%E6%97%B6%E9%97%B4?sort_id=3879744

评价

一共有个关于的结果