本技术实施例涉及计算设备,尤其涉及一种内存管理方法、设备及产品。
背景技术:
1、计算设备的内存可以包括本地内存、以及计算快速链路(compute express link,cxl)内存。其中,相比于本地内存,cxl内存的时延较大。故本地内存可以作为计算设备的高速内存,cxl内存可以作为计算设备的低速内存。
2、目前,计算设备可以同时使用本地内存和cxl内存,进行数据存储。然而,由于cxl内存的时延较大,计算设备使用cxl内存的过程中可能对计算设备中应用程序的性能造成影响,导致应用程序的性能较差。
技术实现思路
1、本技术实施例提供了一种内存管理方法、设备及产品,用于解决计算设备使用cxl内存导致的、计算设备上运行的应用程序的性能较差的技术问题。
2、第一方面,本技术实施例提供了一种内存管理方法,包括:
3、确定目标应用当前的高速内存使用量、以及低速内存使用量;
4、获取所述目标应用对应的内存额度和目标比例,所述目标比例为所述目标应用对应的高速内存额度与低速内存额度的比值;
5、根据所述高速内存使用量、所述低速内存使用量、所述内存额度以及所述目标比例,确定目标数据;
6、对所述目标数据进行迁移,所述目标数据为待从高速内存迁移至低速内存的数据、或者所述目标数据为待从所述低速内存迁移至所述高速内存的数据。
7、上述方案中,计算设备可以确定目标应用当前的高速内存使用量、以及低速内存使用量;可以获取目标应用对应的内存额度和目标比例;可以根据高速内存使用量、低速内存使用量、内存额度以及目标比例,确定目标数据、并对目标数据进行迁移。通过上述方法,可以减少目标应用使用过多低速内存的情况,提高了目标应用的性能。或者,可以减少目标应用使用过多高速内存的情况,使得内存资源的利用率较高。
8、一种可能的实现方式中,所述根据所述高速内存使用量、所述低速内存使用量、所述内存额度、以及所述目标比例,确定目标数据,包括:
9、根据所述内存额度和所述目标比例,确定所述高速内存额度和所述低速内存额度;
10、确定所述高速内存使用量是否大于所述高速内存额度、以及所述低速内存使用量是否大于所述低速内存额度;
11、若所述高速内存使用量大于所述高速内存额度、或者所述低速内存使用量大于所述低速内存额度,则根据所述高速内存使用量、所述低速内存使用量、所述内存额度以及所述目标比例,确定目标数据。
12、上述方案中,在高速内存使用量大于高速内存额度的情况下、或者低速内存使用量大于低速内存额度的情况下,可以根据高速内存使用量、低速内存使用量、内存额度以及目标比例确定目标数据,以便于对目标数据进行迁移。
13、一种可能的实现方式中,所述根据所述高速内存使用量、所述低速内存使用量、所述内存额度以及所述目标比例,确定目标数据,包括:
14、根据所述高速内存使用量、所述低速内存使用量、所述内存额度以及所述目标比例,确定待迁移数据量;
15、获取待选内存页信息,所述待选内存页信息包括所述目标应用在第一预设时长内未使用的所述高速内存对应的至少一个第一页地址、或者所述待选内存页信息包括所述目标应用在第二预设时长内使用的所述低速内存对应的至少一个第二页地址;
16、根据所述待迁移数据量和所述待选内存页信息,确定所述目标数据。
17、上述方案中,可以确定待迁移数据量和待选内存也信息,并可以根据待迁移数据量和待选内存也信息,确定目标数据,实现了确当目标数据的目的。
18、一种可能的实现方式中,所述高速内存额度与所述低速内存额度的比值为目标比例;若所述高速内存使用量大于所述高速内存额度,则第一差值与第一和值的比值为所述目标比例,其中,
19、所述第一差值为所述高速内存使用量与所述待迁移数据量的差值;
20、所述第一和值为所述低速内存使用量与所述待迁移数据量的和值。
21、上述方案中,在高速内存使用量大于高速内存额度的情况下,可以根据高速内存使用量、低速内存使用量、待移数据量、以及目标比例之间的关系,确定待迁移数据量,实现了确定待迁移数据量的目的。
22、一种可能的实现方式中,所述高速内存额度与所述低速内存额度的比值为目标比例;若所述低速内存使用量大于所述低速内存额度,则第二和值与第二差值的比值为所述目标比例,其中,
23、所述第二和值为所述高速内存使用量与所述待迁移数据量的和值;
24、所述第二差值为所述低速内存使用量与所述待迁移数据量的差值。
25、上述方案中,在低速内存使用量大于低速内存额度的情况下,可以根据高速内存使用量、低速内存使用量、待移数据量、以及目标比例之间的关系,确定待迁移数据量,实现了确定待迁移数据量的目的。
26、一种可能的实现方式中,所述根据所述待迁移数据量和所述待选内存页信息,确定所述目标数据,包括:
27、若所述高速内存使用量大于所述高速内存额度,按照使用时刻由远至近的顺序对所述至少一个第一页地址进行排序,得到第一排序;
28、根据所述第一排序,将前m个所述第一页地址对应的内存页中的数据确定为所述目标数据,所述前m个所述第一页地址对应的内存页中的数据量等于所述待迁移数据量,所述m为大于或等于1的整数。
29、上述方案中,在高速内存使用量大于高速内存额度的情况下,可以将一个或多个第一页地址对应的内存页中的数据确定为目标数据,实现了确定目标数据的目的。
30、一种可能的实现方式中,所述根据所述待迁移数据量和所述待选内存页信息,确定所述目标数据,包括:
31、若所述低速内存使用量大于所述低速内存额度,按照使用时刻由近至远的顺序对所述至少一个第二页地址进行排序,得到第二排序;
32、根据所述第二排序,将前n个所述第二页地址对应的内存页中的数据确定为所述目标数据,所述前n个所述第二页地址对应的内存页中的数据量等于所述待迁移数据量。
33、上述方案中,在低速内存使用量大于低速内存额度的情况下,可以将一个或多个第二页地址对应的内存页中的数据确定为目标数据,实现了确定目标数据的目的。
34、一种可能的实现方式中,所述获取所述目标应用对应的内存额度和目标比例,包括:
35、获取内存配置信息,所述内存配置信息中包括多个应用的应用标识、以及每个应用对应的内存额度和目标比例;
36、根据所述目标应用的应用标识,从所述内存配置信息中获取所述目标应用对应的内存额度和目标比例。
37、上述方案中,可以从内存配置信息中获取目标应用对应的内存额度和目标比例,实现了获取目标应用对应的内存额度和目标比例的目的。
38、一种可能的实现方式中,所述高速内存为目标应用所属计算设备的本地内存,所述低速内存为计算快速链路cxl内存。
39、上述方案中,高速内存可以为计算设备的本地内存,低速内存可以为cxl内存,实现了确定高速内存和低速内存的目的。
40、第二方面,本技术实施例提供了一种内存管理装置,所述内存管理装置包括确定模块、获取模块和迁移模块,其中,
41、所述确定模块用于,确定目标应用当前的高速内存使用量、以及低速内存使用量;
42、所述获取模块用于,获取所述目标应用对应的内存额度和目标比例;
43、所述确定模块还用于,根据所述高速内存使用量、所述低速内存使用量、所述内存额度以及所述目标比例,确定目标数据;
44、所述迁移模块用于,对所述目标数据进行迁移,所述目标数据为待从高速内存迁移至低速内存的数据、或者所述目标数据为待从所述低速内存迁移至所述高速内存的数据。
45、上述方案中,可以确定目标应用当前的高速内存使用量、以及低速内存使用量;可以获取目标应用对应的内存额度和目标比例;可以根据高速内存使用量、低速内存使用量、内存额度以及目标比例,确定目标数据、并对目标数据进行迁移。通过上述方法,可以减少目标应用使用过多低速内存的情况,提高了目标应用的性能。另外,可以减少目标应用使用过多高速内存的情况,使得内存资源的利用率较高。
46、一种可能的实现方式中,所述确定模块具体用于,
47、根据所述内存额度和所述目标比例,确定所述高速内存额度和所述低速内存额度;
48、确定所述高速内存使用量是否大于所述高速内存额度、以及所述低速内存使用量是否大于所述低速内存额度;
49、若所述高速内存使用量大于所述高速内存额度、或者所述低速内存使用量大于所述低速内存额度,则根据所述高速内存使用量、所述低速内存使用量、所述内存额度以及所述目标比例,确定目标数据。
50、上述方案中,在高速内存使用量大于高速内存额度的情况下、或者低速内存使用量大于低速内存额度的情况下,可以根据高速内存使用量、低速内存使用量、内存额度以及目标比例确定目标数据,以便于对目标数据进行迁移。
51、一种可能的实现方式中,所述确定模块具体用于,
52、根据所述高速内存使用量、所述低速内存使用量、所述高速内存额度以及所述低速内存额度,确定待迁移数据量;
53、获取待选内存页信息,所述待选内存页信息包括所述目标应用在第一预设时长内未使用的所述高速内存对应的至少一个第一页地址、或者所述待选内存页信息包括所述目标应用在第二预设时长内使用的所述低速内存对应的至少一个第二页地址;
54、根据所述待迁移数据量和所述待选内存页信息,确定所述目标数据。
55、上述方案中,可以确定待迁移数据量和待选内存也信息,并可以根据待迁移数据量和待选内存也信息,确定目标数据,实现了确当目标数据的目的。
56、一种可能的实现方式中,所述高速内存额度与所述低速内存额度的比值为目标比例;若所述高速内存使用量大于所述高速内存额度,则第一差值与第一和值的比值为所述目标比例,其中,
57、所述第一差值为所述高速内存使用量与所述待迁移数据量的差值;
58、所述第一和值为所述低速内存使用量与所述待迁移数据量的和值。
59、上述方案中,在高速内存使用量大于高速内存额度的情况下,可以根据高速内存使用量、低速内存使用量、待移数据量、以及目标比例之间的关系,确定待迁移数据量,实现了确定待迁移数据量的目的。
60、一种可能的实现方式中,所述高速内存额度与所述低速内存额度的比值为目标比例;若所述低速内存使用量大于所述低速内存额度,则第二和值与第二差值的比值为所述目标比例,其中,
61、所述第二和值为所述高速内存使用量与所述待迁移数据量的和值;
62、所述第二差值为所述低速内存使用量与所述待迁移数据量的差值。
63、上述方案中,在低速内存使用量大于低速内存额度的情况下,可以根据高速内存使用量、低速内存使用量、待移数据量、以及目标比例之间的关系,确定待迁移数据量,实现了确定待迁移数据量的目的。
64、一种可能的实现方式中,所述确定模块具体用于,
65、若所述高速内存使用量大于所述高速内存额度,按照使用时刻由远至近的顺序对所述至少一个第一页地址进行排序,得到第一排序;
66、根据所述第一排序,将前m个所述第一页地址对应的内存页中的数据确定为所述目标数据,所述前m个所述第一页地址对应的内存页中的数据量等于所述待迁移数据量,所述m为大于或等于1的整数。
67、上述方案中,在高速内存使用量大于高速内存额度的情况下,可以将一个或多个第一页地址对应的内存页中的数据确定为目标数据,实现了确定目标数据的目的。
68、一种可能的实现方式中,所述确定模块具体用于,
69、若所述低速内存使用量大于所述低速内存额度,按照使用时刻由近至远的顺序对所述至少一个第二页地址进行排序,得到第二排序;
70、根据所述第二排序,将前n个所述第二页地址对应的内存页中的数据确定为所述目标数据,所述前n个所述第二页地址对应的内存页中的数据量等于所述待迁移数据量。
71、上述方案中,在低速内存使用量大于低速内存额度的情况下,可以将一个或多个第二页地址对应的内存页中的数据确定为目标数据,实现了确定目标数据的目的。
72、一种可能的实现方式中,所述获取模块具体用于,
73、获取内存配置信息,所述内存配置信息中包括多个应用的应用标识、以及每个应用对应的内存额度和目标比例;
74、根据所述目标应用的应用标识,从所述内存配置信息中获取所述目标应用对应的内存额度和目标比例。
75、上述方案中,可以从内存配置信息中获取目标应用对应的内存额度和目标比例,实现了获取目标应用对应的内存额度和目标比例的目的。
76、一种可能的实现方式中,所述高速内存为目标应用所属计算设备的本地内存,所述低速内存为计算快速链路cxl内存。
77、上述方案中,高速内存可以为计算设备的本地内存,低速内存可以为cxl内存,实现了确定高速内存和低速内存的目的。
78、第三方面,本技术实施例供一种计算设备,包括:存储器和处理器;
79、所述存储器存储计算机执行指令;
80、所述处理器执行所述存储器存储的计算机执行指令,使得所述处理器执行第一方面任一项所述的方法。
81、第四方面,本技术实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当所述计算机执行指令被处理器执行时用于实现第一方面任一项所述的方法。
82、第五方面,本技术实施例提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现第一方面任一项所示的方法。
1.一种内存管理方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,所述根据所述高速内存使用量、所述低速内存使用量、所述内存额度、以及所述目标比例,确定目标数据,包括:
3.根据权利要求2所述的方法,其特征在于,所述根据所述高速内存使用量、所述低速内存使用量、以及所述目标比例,确定目标数据,包括:
4.根据权利要求3所述的方法,其特征在于,若所述高速内存使用量大于所述高速内存额度,则第一差值与第一和值的比值为所述目标比例,其中,
5.根据权利要求3所述的方法,其特征在于,所述根据所述待迁移数据量和所述待选内存页信息,确定所述目标数据,包括:
6.根据权利要求3所述的方法,其特征在于,所述根据所述待迁移数据量和所述待选内存页信息,确定所述目标数据,包括:
7.根据权利要求1-6任一项所述的方法,其特征在于,所述获取所述目标应用对应的内存额度和目标比例,包括:
8.根据权利要求1-7任一项所述的方法,其特征在于,所述高速内存为目标应用所属计算设备的本地内存,所述低速内存为计算快速链路cxl内存。
9.一种计算设备,其特征在于,包括:存储器和处理器;
10.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1-8任一项所述的方法。
