本申请实施例涉及但不限于内存管理领域,尤其涉及一种控制透明巨页的方法及其装置、存储介质。
背景技术:
1、系统使用巨页一般通过两种方式,一种是用户态程序使用hugetlbfs库,在内核启动时为巨页预留内存空间,同时在代码中明确地为巨页完成映射;另一种是透明巨页(transparent huge page,thp),即对用户透明,内核自动为应用分配巨页。
2、目前主机透明巨页支持3种模式:always模式表示在整个系统范围内使用透明巨页,可能造成大量的内存浪费;madvise模式表示在调用专用(madvise接口)设置支持透明巨页的区域才可使用透明巨页,意味着用户需要修改应用程序的代码才能使用透明巨页,门槛高且不够灵活;never模式表示不使用透明巨页,但系统性能会有所下降。
3、使用巨页可以减少缺页异常(page fault)发生次数,提升访问性能,但是导致分配到的物理页面比实际需要的内存多,造成内存浪费。透明巨页以空间换取性能。越来越多的应用容器化,在容器为单位的管理设备上,比如一些5g基站,想要对某个容器的透明巨页使用做优化,需要手动修改容器内的应用程序源代码。内存紧缺的低端设备通常不使用透明巨页技术,但是如果低端设备中容器对内存消耗不多且需要较高性能时,则这类容器可以使用透明巨页。目前透明巨页的几种模式都是针对主机全局进行配置的,而各容器对性能需求不一样,使用全局透明巨页模式,无法满足所有容器的需求。目前缺少针对容器的精细化管理的透明巨页机制。
技术实现思路
1、本申请实施例提供了控制透明巨页的方法及其装置、存储介质,能够为容器提供透明巨页精细化管理,满足不同容器对不同透明巨页模式的需求。
2、第一方面,本申请实施例提供了一种控制透明巨页的方法,所述控制透明巨页的方法包括:
3、根据基于容器设置的透明巨页模式设置透明巨页;
4、在设置所述透明巨页的过程中,获取所述容器使用所述透明巨页时的性能改变量;
5、根据所述性能改变量调整所述透明巨页模式。
6、第二方面,本申请实施例还提供了一种控制透明巨页的装置,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述的控制透明巨页的方法。
7、第三方面,本申请实施例还提供了一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令用于执行如上述的控制透明巨页的方法。
8、本申请实施例包括:根据基于容器设置的透明巨页模式设置透明巨页;在设置透明巨页的过程中,获取容器使用透明巨页时的性能改变量;根据性能改变量调整透明巨页模式。根据透明巨页模式设置透明巨页,能够减少容器的缺页次数,提高容器的性能,而透明巨页模式也为容器提供了控制设置透明巨页的方式;在设置透明巨页的过程中,获取容器使用透明巨页时的性能改变量,由于透明巨页的使用需要占用更多的内存,因此对于使用透明巨页的不同容器或者不同时段使用透明巨页的同一容器所需要的性能和内存是不同的,通过获取使用透明巨页后的容器的性能改变量,根据该性能改变量来确定容器在后续是否仍按当前透明巨页模式运行,使得容器能够选择满足自身需求的透明巨页模式,达到精细化管理的目的。
1.一种控制透明巨页的方法,包括:
2.根据权利要求1所述的控制透明巨页的方法,其特征在于,所述透明巨页模式包括如下之一:
3.根据权利要求1所述的控制透明巨页的方法,其特征在于,所述控制透明巨页的方法,还包括:
4.根据权利要求3所述的控制透明巨页的方法,其特征在于,所述控制透明巨页的方法,还包括:
5.根据权利要求3所述的控制透明巨页的方法,其特征在于,所述根据所述透明巨页模式为所述透明巨页分配所述物理内存后,所述控制透明巨页的方法还包括:
6.根据权利要求5所述的控制透明巨页的方法,其特征在于,所述将普通页合并得到透明巨页,包括:
7.根据权利要求2所述的控制透明巨页的方法,其特征在于,所述性能改变量包括如下至少之一:
8.根据权利要求7所述的控制透明巨页的方法,其特征在于,当所述性能改变量包括所述容器使用所述透明巨页时增大的物理内存的计算,性能改变量可以根据以下步骤得到:
9.根据权利要求8所述的控制透明巨页的方法,其特征在于,所述控制透明巨页的方法,还包括:
10.根据权利要求7所述的控制透明巨页的方法,其特征在于,当所述性能改变量包括所述容器使用所述透明巨页时减少的缺页次数,所述性能改变量可以根据以下步骤得到:
11.根据权利要求10所述的控制透明巨页的方法,其特征在于,若所述透明巨页模式改变,清除所述容器使用所述透明巨页时减少的缺页次数。
12.一种控制透明巨页的装置,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至11任一项所述的控制透明巨页的方法。
13.一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令用于执行权利要求1至11任一项所述的控制透明巨页的方法。