CN116909940A - 一种自适应内存分配方法、装置及电子设备 - Google Patents
一种自适应内存分配方法、装置及电子设备 Download PDFInfo
- Publication number
- CN116909940A CN116909940A CN202310905060.7A CN202310905060A CN116909940A CN 116909940 A CN116909940 A CN 116909940A CN 202310905060 A CN202310905060 A CN 202310905060A CN 116909940 A CN116909940 A CN 116909940A
- Authority
- CN
- China
- Prior art keywords
- memory
- information
- storage
- optimal
- configuration
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000015654 memory Effects 0.000 title claims abstract description 367
- 238000000034 method Methods 0.000 title claims abstract description 62
- 230000003044 adaptive effect Effects 0.000 claims description 23
- 230000004044 response Effects 0.000 claims description 6
- 238000004590 computer program Methods 0.000 claims description 5
- 238000004891 communication Methods 0.000 description 12
- 230000008569 process Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000009286 beneficial effect Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 239000002699 waste material Substances 0.000 description 4
- 230000003203 everyday effect Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000005055 memory storage Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 241000282326 Felis catus Species 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/023—Free address space management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Memory System (AREA)
Abstract
本说明书提供了一种自适应内存分配方法、装置及电子设备,能够对分布式存储系统中各存储节点的内存空间进行自适应合理配置,提高资源利用效率。所述方法包括:确定与所述述内存配置更新指令对应的当前时间节点时所述分布式存储系统中多个存储节点的可用存储空间信息及相应的初始内存配置信息;获取多个所述存储节点的内存使用记录信息,基于所述内存使用记录信息确定多个所述存储节点的内存实际使用信息;通过对所述存储节点的所述可用存储空间信息、所述初始内存配置信息与所述内存实际使用信息进行对比,确定所述存储节点的最优内存参数;根据所述最优内存参数对所述存储节点的存储空间大小进行配置更新。
Description
技术领域
本说明书涉及分布式存储技术领域,具体涉及一种自适应内存分配方法、装置及电子设备。
背景技术
Alluxio是世界上第一个以内存为中心的虚拟的分布式存储系统,该存储系统通过将数据存储在计算节点内存中来提高性能。通常,Alluxio默认可以配置成单层存储存储模式:在启动时,Alluxio会在每个worker节点上发放一个ramdisk,并占用一定比例的系统的总内存。此ramdisk将用作分配给每个Alluxio worker的唯一存储介质。一些相关技术中,ramdisk的大小一般是由管理员预估使用情况,之后通过修改Alluxio的系统配置参数来确定。若实际业务数据量较大或较小,可能造成内存溢出、存储空间不足,或资源浪费。
发明内容
有鉴于此,本说明书实施例提供了一种自适应内存分配方法、装置及电子设备,能够对分布式存储系统中各存储节点的内存空间进行自适应合理配置,提高资源利用效率。
在第一方面,本说明书实施例提供了自适应内存分配方法,所述方法应用于分布式存储系统。所述方法包括:
响应于内存配置更新指令,确定与所述述内存配置更新指令对应的当前时间节点时所述分布式存储系统中多个存储节点的可用存储空间信息及相应的初始内存配置信息;
获取多个所述存储节点的内存使用记录信息,基于所述内存使用记录信息确定多个所述存储节点的内存实际使用信息;
通过对所述存储节点的所述可用存储空间信息、所述初始内存配置信息与所述内存实际使用信息进行对比,确定所述存储节点的最优内存参数;
根据所述最优内存参数对所述存储节点的存储空间大小进行配置更新。
本说明书实施例还提供了一种自适应内存分配装置,所述装置应用于分布式存储系统。所述装置包括:
存储空间信息确定模块,用于针对内存配置更新指令,确定与所述述内存配置更新指令对应的当前时间节点时所述分布式存储系统中多个存储节点的可用存储空间信息及相应的初始内存配置信息;
内存记录信息确定模块,用于获取多个所述存储节点的内存使用记录信息,基于所述内存使用记录信息确定多个所述存储节点的内存实际使用信息;
最优内存参数确定模块,用于通过对所述存储节点的所述可用存储空间信息、所述初始内存配置信息与所述内存实际使用信息进行对比,确定所述存储节点的最优内存参数;以及
内存配置更新模块,用于根据所述最优内存参数对所述存储节点的存储空间大小进行配置更新。
本说明书实施例还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如第一方面所述的自适应内存分配方法。
从上面可以看出,本说明书实施例所提供的一种自适应内存分配方法、装置及电子设备,具有如下有益技术效果:
在需要进行内存配置更新时,获取多个所述存储节点的可用存储空间信息与初始内存配置信息,并获取近期的内存实际使用信息,通过对三方面信息进行对比分析,确定出贴合实际使用情况的最优内存参数,基于最优内存参数为所述存储节点进行自适应的内存更新配置,从而分配适宜的内存空间,避免内存溢出的同时能够大大提高系统整体的资源利用效率。
附图说明
通过参考附图会更加清楚的理解本发明的特征和优点,附图是示意性的而不应理解为对本发明进行任何限制,在附图中:
图1示出了本说明书一个或多个可选实施例所提供的一种自适应内存分配方法示意图;
图2示出了本说明书一个或多个可选实施例所提供的一种自适应内存分配方法中确定最优内存参数的方法示意图;
图3示出了本说明书一个或多个可选实施例所提供的一种自适应内存分配方法中进行内存更新配置的方法示意图;
图4示出了本说明书一个或多个可选实施例所提供的一种自适应内存分配装置结构示意图;
图5示出了本说明书一个或多个可选实施例所提供的一种自适应内存分配电子设备结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
Alluxio是世界上第一个以内存为中心的虚拟的分布式存储系统,该存储系统通过将数据存储在计算节点内存中来提高性能。通常,Alluxio默认可以配置成单层存储存储模式:在启动时,Alluxio会在每个系统计算工作节点(worker)上发放一个虚拟内存盘(ramdisk),并占用一定比例的系统的总内存。在Alluxio系统中,每个计算工作节点也相当于分布式存储系统中的一个存储节点。此虚拟内存盘将用作分配给每个计算工作节点中的唯一存储介质。一些相关技术中,虚拟内存盘的内存空间大小一般是由管理员预估使用情况,之后通过修改Alluxio的系统配置参数来确定,基于配置参数为相应的计算工作节点配置相应的内存大小。若实际业务数据量较大或较小,可能造成内存溢出、存储空间不足,或造成资源浪费。
针对上述问题,本说明书实施例的目的在于提出一种自适应的内存分配方法,根据分布式存储系统中多个存储节点在实际工作过程中的内存使用情况,为所述存储节点动态调整和分配适宜的内存空间大小,避免内存溢出的同时能够大大提高系统整体的资源利用效率。
基于上述目的,本说明书实施例提供了一种自适应内存分配方法。
如图1所示,本说明书一个或多个可选实施例所提供的一种自适应内存分配方法,应用于分布式存储系统。所述方法包括:
S1:响应于内存配置更新指令,确定与所述述内存配置更新指令对应的当前时间节点时所述分布式存储系统中多个存储节点的可用存储空间信息及相应的初始内存配置信息。
所述内存配置更新指令用于触发针对所述分布式存储系统中多个所述存储节点的内存空间大小进行更新的操作。所述内存配置更新指令可以由所述分布式存储系统周期性自动触发,也可以通过用户输入操作指令触发。其中,分布式存储系统周期性自动触发的触发周期以及触发时间节点可以根据实际情况进行灵活设定。一般情况下,触发周期可以设定为24小时,触发时间节点可以设定为每日凌晨零点触发,即每日都对分布式存储系统多个存储节点的内存空间大小进行更新配置。
所述可用存储空间信息包括所述存储节点在当前时间节点的空闲存储空间大小。可以通过cat/proc/meminfo命令来获取Alluxio分布式存储系统中所有计算工作节点上当前空闲内存大小(即可被Alluxio系统使用的内存大小)。所述空闲存储空间大小是系统可以为对应节点分配内存空间的上限。
所述初始内存配置信息包括所述存储节点在所述当前时间节点前相应配置的内存空间大小。是指所述存储节点原有配置的内存空间大小。所述初始内存配置信息,可能是由管理人员预估使用情况,之后通过修改Alluxio的系统配置参数来设定的。
S2:获取多个所述存储节点的内存使用记录信息,基于所述内存使用记录信息确定多个所述存储节点的内存实际使用信息。
所述内存使用记录信息包括所述存储节点在最近多个预设时间周期内对应的实际内存用量。
在一些可选实施方式中,基于所述内存使用记录信息确定多个所述存储节点的内存实际使用信息,可以采用以下方式:
所述分布式存储系统可以对多个所述存储节点的实际内存使用情况进行持续记录,从而可以获取所述存储节点在最近多个所述预设时间周期的实际内存用量;根据所述内存使用记录信息,计算确定所述存储节点在最近多个预设时间周期内的实际内存用量均值;从多个所述存储节点对应的所述实际内存用量均值中选取最大值作为所述内存实际使用信息。
其中,所述预设时间周期可以相对所述内存配置更新指令的触发时间周期设定,例如同样设定为24小时。即所述分布式存储系统每天都统计当天所述存储节点的实际内存使用大小。通过持续统计多天的实际内存使用大小,可以确定在当前时间节点之前多天的实际内存用量均值。
进一步的,针对所述分布式存储系统中多个所述存储节点相应的所述实际内存用量均值,其中最大值在一定程度上表征多个所述存储节点的内存使用大小情况,可以将均值最大值作为所述内存实际使用信息。
S3:通过对所述存储节点的所述可用存储空间信息、所述初始内存配置信息与所述内存实际使用信息进行对比,确定所述存储节点的最优内存参数。
通过对所述可用存储空间信息、所述初始内存配置信息以及所述内存实际使用信息进行对比分析,可以确定所述存储节点中所分配的内存大小是否存在内存溢出或存储资源浪费的情况,从而在出现相应情况时作出针对性调整。
如图2所示,在本说明书一个或多个可选实施例所提供的一种自适应内存分配方法中,通过对所述存储节点的所述可用存储空间信息、所述初始内存配置信息与所述内存实际使用信息进行对比,确定所述存储节点的最优内存参数,包括:
S201:确定多个所述存储节点相应所述可用存储空间信息的最小值作为内存配置上限值。
选取多个所述可用存储空间信息中的最小值作为内存配置上限值,将所述内存配置上限值作为对所述存储节点分配的内存空间大小的上限,可以避免内存分配超出实际可用内存空间大小。
S202:将所述存储节点的所述内存实际使用信息、所述初始内存配置信息以及所述内存配置上限值进行对比。
S203:响应于所述内存实际使用信息远小于所述初始内存配置信息,将所述最优内存参数设定为所述内存实际使用信息。
所述内存实际使用信息远小于所述初始内存配置信息,说明所述初始内存配置信息过大,很大一部分的内存空间在实际应用过程中不会用到,造成内存资源浪费,这种情况下可以将所述最优内存参数设定为所述内存实际使用信息。
当所述内存实际使用信息与所述初始内存配置信息相比:
max(m)≤ρ·N0
其中,max(m)表示所述内存实际使用信息,N0表示所述初始内存配置信息,一般情况下0<ρ≤0.3。当所述内存实际使用信息与所述初始内存配置信息相比符合上述不等式时,可以认为所述内存实际使用信息远小于所述初始内存配置信息。
S204:响应于所述内存实际使用信息与所述初始内存配置信息相近,根据所述内存实际使用信息与所述内存配置上限值确定所述最优内存参数。
所述内存实际使用信息与所述初始内存配置信息相近,说明所述存储节点中的实际内存使用大小已经接近所配置的内存空间大小,很有可能出现内存溢出的风险,需要对所配置的内存空间大小作出调整。可以根据所述内存实际使用信息与所述内存配置上限值确定所述最优内存参数。
一些可选实施方式中,可以采用以下方式计算确定所述最优内存参数:
所述最优内存参数:
其中,R表示所述最优内存参数,β为调节系数,max(m)表示所述内存实际使用信息,min(M)表示所述内存配置上限值。
上述公式表示可以通过所述内存实际使用信息与所述内存配置上限值的均值,结合调节系数计算确定所述最优内存参数。其中,所述调节系数β的取值可以设定为1,或者比1略大,例如可以设定为1.05或1.1。当所述调节系数设定为1时,所述最优内存参数即所述内存实际使用信息与所述内存配置上限值的均值;当所述调节系数β比1略大时,是指以所述内存实际使用信息与所述内存配置上限值的均值为基础,设置所述最优内存参数略大于该均值。
S4:根据所述最优内存参数对所述存储节点的存储空间大小进行配置更新。
在确定所述最优内存参数后,可以根据所述最优内存参数对所述存储节点的存储空间大小进行配置更新,为所述存储节点分配更适宜的内存大小。
如图3所示,在本说明书一个或多个可选实施例所提供的一种自适应内存分配方法中,根据所述最优内存参数对所述存储节点的存储空间大小进行配置更新,包括:
S301:确定所述最优内存参数与所述初始内存配置信息的差值,并判断所述差值是否超过预设的更新阈值。
所述最优内存参数与所述初始内存配置信息存在差异,可以确定二者差值并与预设的更新阈值进行对比。若二者差值超过预设的所述更新阈值,说明二者差值过大,需要对所述存储节点的存储空间大小重新分配,进行更新配置。
其中,所述更新阈值可以根据所述存储节点对应的可用存储空间大小来确定。例如可以将所述更新阈值设定为所述可用存储空间大小的十分之一或八分之一。需要说明的是,所述更新阈值可以根据实际应用需求进行灵活设置调整。
S302:响应于所述差值超过所述更新阈值,将所述存储节点的存储空间大小更新配置为所述最优内存参数。
在所述差值超过所述更新阈值的情况下,说明所述存储节点之前所设置的所述初始内存配置信息存在较大问题,需要进行更新。可以将所述存储节点的空间大小参数调整配置为所述最优内存参数。根据所述最优内存参数确定所述存储节点新的内存空间大小,能够有效避免内存溢出的同时,提高存储资源利用率。
S303:响应于所述差值未超过所述更新阈值,生成更新问询信息,所述更新问询信息用于确认是否需要进行更新配置。
S304:在接收到针对所述更新问询信息的回复指令,且所述回复指令内容为确定更新,将所述存储节点的存储空间大小更新配置为所述最优内存参数。
对于所述差值未超过所述更新阈值的情况,说明所述最优内存参数与所述初始内存配置信息之间的差异不大,这种情况下是否需要进行更新配置,可以由系统管理工作人员自行决定。针对所述差值未超过所述更新阈值的情况,生成更新问询信息,用于确认是否需要进行更新配置。在接收到针对所述更新问询信息的确定回复后,再根据所述最优内存参数对所述存储节点的存储空间大小进行更新配置。
所述自适应内存分配方法,在需要进行内存配置更新时,获取多个所述存储节点的可用存储空间信息与初始内存配置信息,并获取近期的内存实际使用信息,通过对三方面信息进行对比分析,确定出贴合实际使用情况的最优内存参数,基于最优内存参数为所述存储节点进行自适应的内存更新配置,从而分配适宜的内存空间,避免内存溢出的同时能够大大提高系统整体的资源利用效率。
在本说明书一个或多个可选实施例所提供的一种自适应内存分配方法中,将所述存储节点的存储空间大小更新配置为所述最优内存参数,包括:
调用所述存储节点相对应的参数配置接口,将所述存储节点的内存配置参数更新为所述最优内存参数。
对于Alluxio分布式存储系统,可以通过调用系统参数配置接口,对所述存储节点的内存空间大小进行更新配置。可以通过以下指令调用相应接口:
$./bin/alluxio fs alluxio.worker.ramdisk.size=new.ramdisk.sizeGB。
需要进一步说明的是,对所述存储节点的存储空间大小进行配置更新时,首先确定所述存储当前的工作状态,在所述存储节点处于业务空间状态时再执行配置更新操作。这样的方式能够避免对所述存储节点的正常业务运行造成影响。
需要说明的是,本说明书一个或多个实施例的方法可以由单个设备执行,例如一台计算机或服务器等。本实施例的方法也可以应用于分布式场景下,由多台设备相互配合来完成。在这种分布式场景的情况下,这多台设备中的一台设备可以只执行本说明书一个或多个实施例的方法中的某一个或多个步骤,这多台设备相互之间会进行交互以完成所述的方法。
需要说明的是,上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
基于同一面对,与上述任意实施例方法相对应的,本说明书实施例还提供了一种自适应内存分配装置,应用于分布式存储系统。
参考图4,所述自适应内存分配装置,包括:
存储空间信息确定模块,用于针对内存配置更新指令,确定与所述述内存配置更新指令对应的当前时间节点时所述分布式存储系统中多个存储节点的可用存储空间信息及相应的初始内存配置信息;
内存记录信息确定模块,用于获取多个所述存储节点的内存使用记录信息,基于所述内存使用记录信息确定多个所述存储节点的内存实际使用信息;
最优内存参数确定模块,用于通过对所述存储节点的所述可用存储空间信息、所述初始内存配置信息与所述内存实际使用信息进行对比,确定所述存储节点的最优内存参数;以及
内存配置更新模块,用于根据所述最优内存参数对所述存储节点的存储空间大小进行配置更新。
在本说明书一个或多个可选实施例所提供的一种自适应内存分配装置中,所述可用存储空间信息包括所述存储节点在当前时间节点的空闲存储空间大小;所述初始内存配置信息包括所述存储节点在所述当前时间节点前相应配置的内存空间大小。
在本说明书一个或多个可选实施例所提供的一种自适应内存分配装置中,所述内存使用记录信息包括所述存储节点在最近多个预设时间周期内对应的实际内存用量。所述内存记录信息确定模块,还用于根据所述内存使用记录信息,计算确定所述存储节点在最近多个预设时间周期内的实际内存用量均值;从多个所述存储节点对应的所述实际内存用量均值中选取最大值作为所述内存实际使用信息。
在本说明书一个或多个可选实施例所提供的一种自适应内存分配装置中,所述最优内存参数确定模块,还用于确定多个所述存储节点相应所述可用存储空间信息的最小值作为内存配置上限值;将所述存储节点的所述内存实际使用信息、所述初始内存配置信息以及所述内存配置上限值进行对比;在所述内存实际使用信息远小于所述初始内存配置信息时,将所述最优内存参数设定为所述内存实际使用信息;在所述内存实际使用信息与所述初始内存配置信息相近时,根据所述内存实际使用信息与所述内存配置上限值确定所述最优内存参数。
在本说明书一个或多个可选实施例所提供的一种自适应内存分配装置中,所述最优内存参数确定模块,还用以采用以下公式计算确定所述最优内存参数:
所述最优内存参数:
其中,R表示所述最优内存参数,β为调节系数,max(m)表示所述内存实际使用信息,min(M)表示所述内存配置上限值。
在本说明书一个或多个可选实施例所提供的一种自适应内存分配装置中,所述内存配置更新模块,还用于确定所述最优内存参数与所述初始内存配置信息的差值,并判断所述差值是否超过预设的更新阈值;在所述差值超过所述更新阈值时,将所述存储节点的存储空间大小更新配置为所述最优内存参数;在所述差值未超过所述更新阈值时,生成更新问询信息,所述更新问询信息用于确认是否需要进行更新配置;在接收到针对所述更新问询信息的回复指令,且所述回复指令内容为确定更新,将所述存储节点的存储空间大小更新配置为所述最优内存参数。
在本说明书一个或多个可选实施例所提供的一种自适应内存分配装置中,所述内存配置更新模块,还用于调用所述存储节点相对应的参数配置接口,将所述存储节点的内存配置参数更新为所述最优内存参数。
在本说明书一个或多个可选实施例所提供的一种自适应内存分配装置中,所述内存配置更新模块对所述存储节点的存储空间大小进行配置更新在所述存储节点处于业务空闲状态时进行。
为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本说明书一个或多个实施例时可以把各模块的功能在同一个或多个软件和/或硬件中实现。
上述实施例的装置用于实现前述实施例中相应的方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
图5示出了本实施例所提供的一种更为具体的电子设备硬件结构示意图,该设备可以包括:处理器1010、存储器1020、输入/输出接口1030、通信接口1040和总线1050。其中处理器1010、存储器1020、输入/输出接口1030和通信接口1040通过总线1050实现彼此之间在设备内部的通信连接。
处理器1010可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方案。
存储器1020可以采用ROM(Read Only Memory,只读存储器)、RAM(Random AccessMemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器1020可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器1020中,并由处理器1010来调用执行。
输入/输出接口1030用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
通信接口1040用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。
总线1050包括一通路,在设备的各个组件(例如处理器1010、存储器1020、输入/输出接口1030和通信接口1040)之间传输信息。
需要说明的是,尽管上述设备仅示出了处理器1010、存储器1020、输入/输出接口1030、通信接口1040以及总线1050,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。
上述实施例的电子设备用于实现前述实施例中相应的方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
基于同一发明构思,与上述任意实施例方法相对应的,本公开还提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行如上任一实施例所述的自适应内存分配方法。
本实施例的计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带式磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
上述实施例的存储介质存储的计算机指令用于使所述计算机执行如上任一实施例所述的自适应内存分配方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
本领域技术人员可以理解,实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)、随机存储记忆体(Random AccessMemory,RAM)、快闪存储器(Flash Memory)、硬盘(Hard Disk Drive,缩写:HDD)或固态硬盘(Solid-State Drive,SSD)等;所述存储介质还可以包括上述种类的存储器的组合。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
本领域内的技术人员应明白,本说明书的实施例可提供为方法、系统、或计算机程序产品。因此,本说明书可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本说明书可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本公开的范围(包括权利要求)被限于这些例子;在本公开的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本说明书一个或多个实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。
尽管已经结合了本公开的具体实施例对本公开进行了描述,但是根据前面的描述,这些实施例的很多替换、修改和变型对本领域普通技术人员来说将是显而易见的。例如,其它存储器架构(例如,动态RAM(DRAM))可以使用所讨论的实施例。
本说明书一个或多个实施例旨在涵盖落入所附权利要求的宽泛范围之内的所有这样的替换、修改和变型。因此,凡在本说明书一个或多个实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本公开的保护范围之内。
Claims (10)
1.一种自适应内存分配方法,其特征在于,所述方法应用于分布式存储系统;所述方法包括:
响应于内存配置更新指令,确定与所述述内存配置更新指令对应的当前时间节点时所述分布式存储系统中多个存储节点的可用存储空间信息及相应的初始内存配置信息;
获取多个所述存储节点的内存使用记录信息,基于所述内存使用记录信息确定多个所述存储节点的内存实际使用信息;
通过对所述存储节点的所述可用存储空间信息、所述初始内存配置信息与所述内存实际使用信息进行对比,确定所述存储节点的最优内存参数;
根据所述最优内存参数对所述存储节点的存储空间大小进行配置更新。
2.根据权利要求1所述的方法,其特征在于,所述可用存储空间信息包括所述存储节点在当前时间节点的空闲存储空间大小;
所述初始内存配置信息包括所述存储节点在所述当前时间节点前相应配置的内存空间大小。
3.根据权利要求2所述的方法,其特征在于,所述内存使用记录信息包括所述存储节点在最近多个预设时间周期内对应的实际内存用量;
基于所述内存使用记录信息确定多个所述存储节点的内存实际使用信息,包括:
根据所述内存使用记录信息,计算确定所述存储节点在最近多个预设时间周期内的实际内存用量均值;
从多个所述存储节点对应的所述实际内存用量均值中选取最大值作为所述内存实际使用信息。
4.根据权利要求3所述的方法,其特征在于,通过对所述存储节点的所述可用存储空间信息、所述初始内存配置信息与所述内存实际使用信息进行对比,确定所述存储节点的最优内存参数,包括:
确定多个所述存储节点相应所述可用存储空间信息的最小值作为内存配置上限值;
将所述存储节点的所述内存实际使用信息、所述初始内存配置信息以及所述内存配置上限值进行对比;
响应于所述内存实际使用信息远小于所述初始内存配置信息,将所述最优内存参数设定为所述内存实际使用信息;
响应于所述内存实际使用信息与所述初始内存配置信息相近,根据所述内存实际使用信息与所述内存配置上限值确定所述最优内存参数。
5.根据权利要求4所述的方法,其特征在于,根据所述内存实际使用信息与所述内存配置上限值确定所述最优内存参数,包括:
所述最优内存参数:
其中,R表示所述最优内存参数,β为调节系数,max(m)表示所述内存实际使用信息,min()表示所述内存配置上限值。
6.根据权利要求1所述的方法,其特征在于,根据所述最优内存参数对所述存储节点的存储空间大小进行配置更新,包括:
确定所述最优内存参数与所述初始内存配置信息的差值,并判断所述差值是否超过预设的更新阈值;
响应于所述差值超过所述更新阈值,将所述存储节点的存储空间大小更新配置为所述最优内存参数;
响应于所述差值未超过所述更新阈值,生成更新问询信息,所述更新问询信息用于确认是否需要进行更新配置;
在接收到针对所述更新问询信息的回复指令,且所述回复指令内容为确定更新,将所述存储节点的存储空间大小更新配置为所述最优内存参数。
7.根据权利要求6所述的方法,其特征在于,将所述存储节点的存储空间大小更新配置为所述最优内存参数,包括:
调用所述存储节点相对应的参数配置接口,将所述存储节点的内存配置参数更新为所述最优内存参数。
8.根据权利要求1所述的方法,其特征在于,对所述存储节点的存储空间大小进行配置更新在所述存储节点处于业务空闲状态时进行。
9.一种自适应内存分配装置,其特征在于,所述装置应用于分布式存储系统;所述装置包括:
存储空间信息确定模块,用于针对内存配置更新指令,确定与所述述内存配置更新指令对应的当前时间节点时所述分布式存储系统中多个存储节点的可用存储空间信息及相应的初始内存配置信息;
内存记录信息确定模块,用于获取多个所述存储节点的内存使用记录信息,基于所述内存使用记录信息确定多个所述存储节点的内存实际使用信息;
最优内存参数确定模块,用于通过对所述存储节点的所述可用存储空间信息、所述初始内存配置信息与所述内存实际使用信息进行对比,确定所述存储节点的最优内存参数;以及
内存配置更新模块,用于根据所述最优内存参数对所述存储节点的存储空间大小进行配置更新。
10.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至8任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310905060.7A CN116909940A (zh) | 2023-07-21 | 2023-07-21 | 一种自适应内存分配方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310905060.7A CN116909940A (zh) | 2023-07-21 | 2023-07-21 | 一种自适应内存分配方法、装置及电子设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116909940A true CN116909940A (zh) | 2023-10-20 |
Family
ID=88364388
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310905060.7A Pending CN116909940A (zh) | 2023-07-21 | 2023-07-21 | 一种自适应内存分配方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116909940A (zh) |
-
2023
- 2023-07-21 CN CN202310905060.7A patent/CN116909940A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10182018B2 (en) | Resource management based on device-specific or user-specific resource usage profiles | |
US10101910B1 (en) | Adaptive maximum limit for out-of-memory-protected web browser processes on systems using a low memory manager | |
US9678797B2 (en) | Dynamic resource management for multi-process applications | |
TW201942739A (zh) | 任務的分配方法、裝置及設備 | |
US10289446B1 (en) | Preserving web browser child processes by substituting a parent process with a stub process | |
US9286199B2 (en) | Modifying memory space allocation for inactive tasks | |
US9547520B1 (en) | Virtual machine load balancing | |
CN113641457A (zh) | 容器创建方法、装置、设备、介质及程序产品 | |
US11231852B2 (en) | Efficient sharing of non-volatile memory | |
JPWO2015001850A1 (ja) | タスク割り当て判定装置、制御方法、及びプログラム | |
CN111309644B (zh) | 一种内存分配方法、装置和计算机可读存储介质 | |
US10248321B1 (en) | Simulating multiple lower importance levels by actively feeding processes to a low-memory manager | |
CN111245732A (zh) | 一种流量控制方法、装置及设备 | |
WO2021093248A1 (zh) | 调度方法及装置、电子设备和存储介质 | |
CN110471769B (zh) | 一种虚拟机的资源管理方法及装置 | |
CN111930516B (zh) | 一种负载均衡方法及相关装置 | |
CN112631504A (zh) | 利用堆外内存实现本地缓存的方法和装置 | |
CN116909940A (zh) | 一种自适应内存分配方法、装置及电子设备 | |
CN116737370A (zh) | 一种多资源调度方法、系统、存储介质及终端 | |
US9405470B2 (en) | Data processing system and data processing method | |
CN111090627B (zh) | 基于池化的日志存储方法、装置、计算机设备及存储介质 | |
CN111258754A (zh) | 一种基于时间窗口的资源处理方法、装置、介质以及系统 | |
CN113032153B (zh) | 容器服务资源动态扩容方法、系统、装置及存储介质 | |
CN114610575B (zh) | 应用于计算分支的更新峰值的方法、装置、设备和介质 | |
CN110187957B (zh) | 一种下载任务的排队方法、装置及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |