CN112764930A - 一种内存分配方法、装置、设备及计算机可读存储介质 - Google Patents

一种内存分配方法、装置、设备及计算机可读存储介质 Download PDF

Info

Publication number
CN112764930A
CN112764930A CN202110090614.3A CN202110090614A CN112764930A CN 112764930 A CN112764930 A CN 112764930A CN 202110090614 A CN202110090614 A CN 202110090614A CN 112764930 A CN112764930 A CN 112764930A
Authority
CN
China
Prior art keywords
memory
target program
program
programs
current
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
Application number
CN202110090614.3A
Other languages
English (en)
Inventor
庄戌堃
王骞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shandong Yunhai Guochuang Cloud Computing Equipment Industry Innovation Center Co Ltd
Original Assignee
Shandong Yunhai Guochuang Cloud Computing Equipment Industry Innovation Center Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shandong Yunhai Guochuang Cloud Computing Equipment Industry Innovation Center Co Ltd filed Critical Shandong Yunhai Guochuang Cloud Computing Equipment Industry Innovation Center Co Ltd
Priority to CN202110090614.3A priority Critical patent/CN112764930A/zh
Publication of CN112764930A publication Critical patent/CN112764930A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation 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/5016Allocation 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation 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/5022Mechanisms to release resources

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System (AREA)

Abstract

本申请公开了一种内存分配方法、装置、设备及计算机可读存储介质,方法包括:获取各程序中的内存剩余量;当存在目标程序时,将系统当前剩余内存分配给目标程序;目标程序为内存剩余量小于对应的内存需求量的程序;判断目标程序的当前内存剩余量是否小于内存需求量;若是,则从剩余的程序中回收可用内存并分配到目标程序中,直至目标程序的当前内存剩余量等于内存需求量。本申请公开的上述技术方案,实现在系统内存的实际使用情况未知的情况下也能进行内存分配,以使得各程序中的内存剩余量均能满足对应的内存需求量,从而提高内存分配的合理性,且由于并不需要对操作系统的内核进行修改,因此,可以提高内存分配的适用性。

Description

一种内存分配方法、装置、设备及计算机可读存储介质
技术领域
本申请涉及内存压缩技术领域,更具体地说,涉及一种内存分配方法、装置、设备及计算机可读存储介质。
背景技术
现有内存压缩方法分为软件压缩和硬件压缩,其中,硬件压缩以IBM的MXT(MemoryExpansion Technology,内存扩展技术)最具代表性。
目前,在依据MXT进行内存压缩操作的过程中,为了使内存压缩操作系统可以获知系统内存的实际使用情况,则需要对操作系统内核中内存管理部门的watermark进行修改,具体由固定watermark值改变为依据压缩比可变的watermark值,以便于操作系统可以据此知道内存的实际使用情况,从而便于合理、准确地进行内存分配,但是,由于内存压缩操作系统对用户有修改权限的限制,因此,用户无法轻易地对操作系统中的内核进行修改,从而导致上述内存分配方法的适用性比较差。若用户无法对操作系统的内核进行修改,则操作系统就无法知道系统内存的实际使用情况,而这可能导致在进行内存分配时出现内存不足的情况,因此,则会降低内存分配的合理性。
综上所述,如何提高内存分配的适用性和合理性,是目前本领域人员亟待解决的技术问题。
发明内容
有鉴于此,本申请的目的是提供一种内存分配方法、装置、设备及计算机可读存储介质,用于提高内存分配的适用性和合理性。
为了实现上述目的,本申请提供如下技术方案:
一种内存分配方法,包括:
获取各程序中的内存剩余量;
当存在目标程序时,将系统当前剩余内存分配给所述目标程序;所述目标程序为所述内存剩余量小于对应的内存需求量的程序;
判断所述目标程序的当前内存剩余量是否小于所述内存需求量;
若是,则从剩余的所述程序中回收可用内存并分配到所述目标程序中,直至所述目标程序的当前内存剩余量等于所述内存需求量。
优选的,若所述目标程序的当前内存剩余量大于所述内存需求量,则还包括:
从所述目标程序中回收多余的内存;其中,所述多余的内存为所述目标程序中当前内存剩余量中多出所述内存需求量的内存。
优选的,从剩余的所述程序中回收可用内存,包括:
从剩余的所述程序中回收可用内存对应的页面,以获得所述可用内存。
优选的,从剩余的所述程序中回收可用内存对应的页面,包括:
获取剩余的所述程序中可用内存对应的页面的使用频率,并从剩余的所述程序中回收所述使用频率低于预设值的页面。
优选的,从剩余的所述程序中回收可用内存并分配到所述目标程序中,包括:
通过get_free_pages的API从剩余的所述程序中回收可用内存,并通过与get_free_pages的API将回收到的所述可用内存分配到所述目标程序中。
一种内存分配装置,包括:
获取模块,用于获取各程序中的内存剩余量;
分配模块,用于当存在目标程序时,将系统当前剩余内存分配给所述目标程序;所述目标程序为所述内存剩余量小于对应的内存需求量的程序;
判断模块,用于判断所述目标程序的当前内存剩余量是否小于所述内存需求量;
回收分配模块,用于若所述目标程序的当前内存剩余量小于所述内存需求量,则从剩余的所述程序中回收可用内存并分配到所述目标程序中,直至所述目标程序的当前内存剩余量等于所述内存需求量。
优选的,还包括:
返回模块,用于若所述目标程序的当前内存剩余量大于所述内存需求量,接收所述目标程序返回的多余内存;其中,所述目标程序在返回所述多余内存后,其当前内存剩余量等于所述内存需求量。
优选的,所述回收分配模块包括:
回收单元,用于从剩余的所述程序中回收可用内存对应的页面,以获得所述可用内存。
一种内存分配设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上述任一项所述的内存分配方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现如上述任一项所述的内存分配方法的步骤。
本申请提供了一种内存分配方法、装置、设备及计算机可读存储介质,其中,该方法包括:获取各程序中的内存剩余量;当存在目标程序时,将系统当前剩余内存分配给目标程序;目标程序为内存剩余量小于对应的内存需求量的程序;判断目标程序的当前内存剩余量是否小于内存需求量;若是,则从剩余的程序中回收可用内存并分配到目标程序中,直至目标程序的当前内存剩余量等于内存需求量。
本申请公开的上述技术方案,在根据获取到的各程序中的内存剩余量确定存在内存剩余量小于其内存需求量的程序时,即在确定存在目标程序时,先将系统当前剩余内存分配给目标程序,然后,判断目标程序的当前内存剩余量是否小于内存需求量,若确定目标程序的当前内存剩余量小于内存需求量,则从剩余的程序中回收可用内存并分配到目标程序中,直至目标程序的当前内存剩余量等于内存需求量为止,以实现在系统内存的实际使用情况未知的情况下也能进行内存分配,以使得各程序中的内存剩余量均能满足对应的内存需求量,即避免出现因无法获知系统内存的实际使用情况而导致系统内存不足的情况,从而提高内存分配的合理性,且由于上述内存分配的过程并不需要对操作系统的内核进行修改,因此,可以提高内存分配的适用性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例提供的一种内存分配方法的流程图;
图2为本申请实施例提供的一种内存分配装置的结构示意图;
图3为本申请实施例提供的一种内存分配设备的结构示意图。
具体实施方式
内存压缩是解决内存容量问题的一个合理的解决方案,内存压缩的方法有软件压缩和硬件压缩,其中,硬件压缩又以IBM的MXT最具代表性,MXT的压缩和地址转换是由硬件完成的,但是,需要对操作系统进行更改,具体需要对操作系统内核中内存管理部门的watermark进行修改:由固定watermark值改变为依据压缩比可变的watermark值,同时IBM的MXT通过设置SUR寄存器,以便于操作系统可以据此知道系统内存的实际使用情况(具体即为系统内存的实际剩余情况),从而便于根据系统内存的实际使用情况来对其进行合理、准确地分配,但是,由于用户无法轻易地对操作系统中的内核进行修改,因此,上述硬件压缩过程中的内存分配方法无法更好地适用于更多的用户,存在适用性较差的问题。
若用户无法对操作系统的内核进行修改,则在内存压缩的过程中,由于内存压缩的存在(存在一定的压缩比),因此,操作系统无法知道系统内存的实际使用情况,其读取到的剩余内存可能比实际剩余内存大,也可能比实际剩余内存小,因其无法读取到真实的内存剩余情况,则操作系统在对程序进行内存分配时可能会存在内存不足的情况,即会出现内存分配不合理的情况。
为此,本申请提供一种内存分配的技术方案,用于提高内存分配的适用性和合理性。
为了使本领域技术人员更清楚地理解本技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
参见图1,其示出了本申请实施例提供的一种内存分配方法的流程图,本申请实施例提供的一种内存分配方法,可以包括:
S11:获取各程序中的内存剩余量。
操作系统对其所管理的各个程序进行监测,具体可以对各程序对内存的使用情况进行监测,以获取各程序中的内存剩余量,同时可以获取各程序对应的内存需求量。
S12:当存在目标程序时,将系统当前剩余内存分配给目标程序;目标程序为内存剩余量小于对应的内存需求量的程序。
在获取各程序中的内存剩余量时,可以将各程序的内存剩余量与其对应的内存需求量进行比较,若确定存在有程序的内存剩余量小于其对应的内存需求量,则将内存剩余量小于对应的内存需求量的程序确定为目标程序,并将系统当前剩余内存分配给目标程序。
其中,当存在一个目标程序时,则将系统当前剩余内存全部分配给该目标程序;当存在有大于一个的目标程序时,则可以将系统当前剩余内存平均分配给各目标程序,或者从大于一个的目标程序中任选一个目标程序,并将系统当前剩余内存分配给所选择出的目标程序。
S13:判断目标程序的当前内存剩余量是否小于内存需求量;若是,则执行步骤S14。
在将系统当前剩余内存分配给目标程序之后,可以判断目标程序(所确定出的全部的目标程序)的当前剩余内存量是否小于其对应的内存需求量,其中,这里提及的目标程序的当前内存剩余量即为目标程序在接收到所分配的当前剩余内存之后所对应的内存剩余量。
若目标程序的当前内存剩余量仍小于其对应的内存需求量,则表明目标程序的当前内存剩余量仍无法满足其内存需求,因此,则可以执行步骤S14,若目标程序的当前内存剩余量不小于其对应的内存需求量,则表明目标程序的当前内存剩余量可以满足其内存需求,因此,则可以不再执行步骤S14。
S14:从剩余的程序中回收可用内存并分配到目标程序中,直至目标程序的当前内存剩余量等于内存需求量。
在操作系统将系统当前剩余内存分配给目标程序之后,若目标程序的当前内存剩余量仍小于其对应的内存需求量,则操作系统可以从剩余的程序中回收可用内存,其中,这里提及的剩余的程序为操作系统所管理的程序中除目标程序之外的程序,且可用内存为剩余的程序中当前处于空闲而不被占用的内存,以避免在从剩余的程序中回收内存时而对剩余程序的运行造成影响。操作系统从剩余的程序中回收可用内存的具体过程可以为:操作系统先向剩余的程序发送回收请求,剩余的程序在接收到回收请求之后可以对其内部的可用内存进行保护,以避免可用内存被对应的程序进行访问,之后,操作系统可以从剩余的程序中回收被对应程序保护起来的可用内存。
操作系统在从剩余的程序中回收可用内存之后,可以将回收到的可用内存分配到目标程序中,分配之后,可以判断目标程序的当前内存剩余量是否小于内存需求量,若仍小于,则继续从剩余的程序中回收可用内存并分配到目标程序中……直至目标程序的当前内存剩余量等于内存需求量为止,其中,这里提及的当前内存剩余量即为目标程序在接收到操作系统为其分配的回收到的可用内存之后所对应的内存剩余量。
通过上述过程可以实现在系统内存的实际使用情况未知的情况下也能进行内存分配,而无需对操作系统的内核进行修改,因此,则可以提高内存分配的适用性,且上述过程可以通过将系统当前剩余内存及从剩余程序从回收可用内存而使得各程序中的内存剩余量均能满足对应的内存需求量,以避免出现因无法获知系统内存的实际使用情况而导致系统内存不足的情况,从而提高内存分配的合理性。
本申请公开的上述技术方案,在根据获取到的各程序中的内存剩余量确定存在内存剩余量小于其内存需求量的程序时,即在确定存在目标程序时,先将系统当前剩余内存分配给目标程序,然后,判断目标程序的当前内存剩余量是否小于内存需求量,若确定目标程序的当前内存剩余量小于内存需求量,则从剩余的程序中回收可用内存并分配到目标程序中,直至目标程序的当前内存剩余量等于内存需求量为止,以实现在系统内存的实际使用情况未知的情况下也能进行内存分配,以使得各程序中的内存剩余量均能满足对应的内存需求量,即避免出现因无法获知系统内存的实际使用情况而导致系统内存不足的情况,从而提高内存分配的合理性,且由于上述内存分配的过程并不需要对操作系统的内核进行修改,因此,可以提高内存分配的适用性。
本申请实施例提供的一种内存分配方法,若目标程序的当前内存剩余量大于内存需求量,则还可以包括:
从目标程序中回收多余的内存;其中,多余的内存为目标程序中当前内存剩余量中多出内存需求量的内存。
在本申请中,在判断目标程序的当前内存剩余量是否小于内存需求量时,若目标程序的当前内存剩余量大于内存需求量,则操作系统可以从目标程序中回收多余的内存,其中,这里提及的多余的内存即为目标程序中当前内存剩余量中多出其对应的内存需求量的内存,以避免将多余的内存放置在目标程序中而造成对这些内存的浪费,并便于后续在出现内存剩余量小于对应的内存需求量的程序时,操作系统可以及时将回收到的内存分配给这些程序。
本申请实施例提供的一种内存分配方法,从剩余的程序中回收可用内存,可以包括:
从剩余的程序中回收可用内存对应的页面,以获得可用内存。
在从剩余的程序中回收可用内存时,具体可以从剩余的程序中回收可用内存对应的页面,以获得可用内存,也即可以通过回收页面来实现内存释放及内存回收。
本申请实施例提供的一种内存分配方法,从剩余的程序中回收可用内存对应的页面,可以包括:
获取剩余的程序中可用内存对应的页面的使用频率,并从剩余的程序中回收使用频率低于预设值的页面。
在从剩余的程序中回收可用内存对应的页面时,可以记录并获取剩余的程序中可用内存对应的页面的使用频率,并判断可用内存对应的页面的使用频率是否低于预设值,若否,则表明这些页面为程序经常用到的页面,若是,则表明这些页面为不经常使用的页面。在进行页面回收时具体可以回收使用频率低于预设值的页面,也即回收不经常使用的页面,以避免对被回收内存的程序的运行造成影响。
其中,上述提及的预设值具体可以根据程序的运行性能进行设置,且在上述过程中,操作系统在判断可用内存对应的页面的使用频率是否低于预设值的同时,若确定使用频率低于预设值,则可以将使用频率低于预设值的页面标记为释放页面或冷页面,以便于操作系统在进行回收时可以直接根据页面上的标记进行回收。
本申请实施例提供的一种内存分配方法,从剩余的程序中回收可用内存并分配到目标程序中,可以包括:
通过get_free_pages的API从剩余的程序中回收可用内存,并通过与get_free_pages的API将回收到的可用内存分配到目标程序中。
在本申请中,在从剩余的程序中回收可用内存并分配到目标程序中时,操作系统可以通过与剩余的程序对应的get_free_pages的API来从剩余的程序中回收可用内存,且操作系统可以通过与目标程序对应的get_free_pages的API来将回收到的可用内存分配到目标程序中,以提高内存分配的便利性。
本申请实施例还提供了一种内存分配装置,参见图2,其示出了本申请实施例提供的一种内存分配装置的结构示意图,可以包括:
获取模块21,用于获取各程序中的内存剩余量;
分配模块22,用于当存在目标程序时,将系统当前剩余内存分配给目标程序;目标程序为内存剩余量小于对应的内存需求量的程序;
判断模块23,用于判断目标程序的当前内存剩余量是否小于内存需求量;
回收分配模块24,用于若目标程序的当前内存剩余量小于内存需求量,则从剩余的程序中回收可用内存并分配到目标程序中,直至目标程序的当前内存剩余量等于内存需求量。
本申请实施例提供的一种内存分配装置,还可以包括:
返回模块,用于若目标程序的当前内存剩余量大于内存需求量,接收目标程序返回的多余内存;其中,目标程序在返回多余内存后,其当前内存剩余量等于内存需求量。
本申请实施例提供的一种内存分配装置,回收分配模块24可以包括:
回收单元,用于从剩余的程序中回收可用内存对应的页面,以获得可用内存。
本申请实施例提供的一种内存分配装置,回收单元可以包括:
获取单元,用于获取剩余的程序中可用内存对应的页面的使用频率,并从剩余的程序中回收使用频率低于预设值的页面。
本申请实施例提供的一种内存分配装置,回收分配模块24可以包括:
回收分配单元,用于通过get_free_pages的API从剩余的程序中回收可用内存,并通过与get_free_pages的API将回收到的可用内存分配到目标程序中。
本申请实施例还提供了一种内存分配设备,参见图3,其示出了本申请实施例提供的一种内存分配设备的结构示意图,可以包括:
存储器31,用于存储计算机程序;
处理器32,用于执行存储器31存储的计算机程序时可实现如下步骤:
获取各程序中的内存剩余量;当存在目标程序时,将系统当前剩余内存分配给目标程序;目标程序为内存剩余量小于对应的内存需求量的程序;判断目标程序的当前内存剩余量是否小于内存需求量;若是,则从剩余的程序中回收可用内存并分配到目标程序中,直至目标程序的当前内存剩余量等于内存需求量。
本申请实施例还提供了一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序,计算机程序被处理器执行时可实现如下步骤:
获取各程序中的内存剩余量;当存在目标程序时,将系统当前剩余内存分配给目标程序;目标程序为内存剩余量小于对应的内存需求量的程序;判断目标程序的当前内存剩余量是否小于内存需求量;若是,则从剩余的程序中回收可用内存并分配到目标程序中,直至目标程序的当前内存剩余量等于内存需求量。
该计算机可读存储介质可以包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本申请实施例提供的一种内存分配装置、设备及计算机可读存储介质中相关部分的说明可以参见本申请实施例提供的一种内存分配方法中对应部分的详细说明,在此不再赘述。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。另外,本申请实施例提供的上述技术方案中与现有技术中对应技术方案实现原理一致的部分并未详细说明,以免过多赘述。
对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种内存分配方法,其特征在于,包括:
获取各程序中的内存剩余量;
当存在目标程序时,将系统当前剩余内存分配给所述目标程序;所述目标程序为所述内存剩余量小于对应的内存需求量的程序;
判断所述目标程序的当前内存剩余量是否小于所述内存需求量;
若是,则从剩余的所述程序中回收可用内存并分配到所述目标程序中,直至所述目标程序的当前内存剩余量等于所述内存需求量。
2.根据权利要求1所述的内存分配方法,其特征在于,若所述目标程序的当前内存剩余量大于所述内存需求量,则还包括:
从所述目标程序中回收多余的内存;其中,所述多余的内存为所述目标程序中当前内存剩余量中多出所述内存需求量的内存。
3.根据权利要求1所述的内存分配方法,其特征在于,从剩余的所述程序中回收可用内存,包括:
从剩余的所述程序中回收可用内存对应的页面,以获得所述可用内存。
4.根据权利要求3所述的内存分配方法,其特征在于,从剩余的所述程序中回收可用内存对应的页面,包括:
获取剩余的所述程序中可用内存对应的页面的使用频率,并从剩余的所述程序中回收所述使用频率低于预设值的页面。
5.根据权利要求1所述的内存分配方法,其特征在于,从剩余的所述程序中回收可用内存并分配到所述目标程序中,包括:
通过get_free_pages的API从剩余的所述程序中回收可用内存,并通过与get_free_pages的API将回收到的所述可用内存分配到所述目标程序中。
6.一种内存分配装置,其特征在于,包括:
获取模块,用于获取各程序中的内存剩余量;
分配模块,用于当存在目标程序时,将系统当前剩余内存分配给所述目标程序;所述目标程序为所述内存剩余量小于对应的内存需求量的程序;
判断模块,用于判断所述目标程序的当前内存剩余量是否小于所述内存需求量;
回收分配模块,用于若所述目标程序的当前内存剩余量小于所述内存需求量,则从剩余的所述程序中回收可用内存并分配到所述目标程序中,直至所述目标程序的当前内存剩余量等于所述内存需求量。
7.根据权利要求6所述的内存分配装置,其特征在于,还包括:
返回模块,用于若所述目标程序的当前内存剩余量大于所述内存需求量,接收所述目标程序返回的多余内存;其中,所述目标程序在返回所述多余内存后,其当前内存剩余量等于所述内存需求量。
8.根据权利要求7所述的内存分配装置,其特征在于,所述回收分配模块包括:
回收单元,用于从剩余的所述程序中回收可用内存对应的页面,以获得所述可用内存。
9.一种内存分配设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至5任一项所述的内存分配方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至5任一项所述的内存分配方法的步骤。
CN202110090614.3A 2021-01-22 2021-01-22 一种内存分配方法、装置、设备及计算机可读存储介质 Pending CN112764930A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110090614.3A CN112764930A (zh) 2021-01-22 2021-01-22 一种内存分配方法、装置、设备及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110090614.3A CN112764930A (zh) 2021-01-22 2021-01-22 一种内存分配方法、装置、设备及计算机可读存储介质

Publications (1)

Publication Number Publication Date
CN112764930A true CN112764930A (zh) 2021-05-07

Family

ID=75706777

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110090614.3A Pending CN112764930A (zh) 2021-01-22 2021-01-22 一种内存分配方法、装置、设备及计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN112764930A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113630477A (zh) * 2021-10-11 2021-11-09 江苏荣泽信息科技股份有限公司 基于区块链预言机的高价值数据上链系统及方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102253893A (zh) * 2011-04-02 2011-11-23 赵悦 一种内存扩展方法
CN104182350A (zh) * 2013-05-28 2014-12-03 中国银联股份有限公司 一种针对包括多个进程的应用的内存管理方法和装置
US20180357101A1 (en) * 2017-06-12 2018-12-13 International Business Machines Corporation Attribute driven memory allocation
CN109445943A (zh) * 2018-10-24 2019-03-08 郑州云海信息技术有限公司 内核态系统中i/o栈的内存管理方法、系统及相关装置
CN109753361A (zh) * 2019-01-04 2019-05-14 合肥杰发科技有限公司 一种内存管理方法、电子设备及存储装置
CN111078406A (zh) * 2019-12-10 2020-04-28 Oppo(重庆)智能科技有限公司 内存管理方法、装置、存储介质及电子设备
CN111143064A (zh) * 2019-12-25 2020-05-12 浙江中控技术股份有限公司 一种处理内存的方法及系统

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102253893A (zh) * 2011-04-02 2011-11-23 赵悦 一种内存扩展方法
CN104182350A (zh) * 2013-05-28 2014-12-03 中国银联股份有限公司 一种针对包括多个进程的应用的内存管理方法和装置
US20180357101A1 (en) * 2017-06-12 2018-12-13 International Business Machines Corporation Attribute driven memory allocation
CN109445943A (zh) * 2018-10-24 2019-03-08 郑州云海信息技术有限公司 内核态系统中i/o栈的内存管理方法、系统及相关装置
CN109753361A (zh) * 2019-01-04 2019-05-14 合肥杰发科技有限公司 一种内存管理方法、电子设备及存储装置
CN111078406A (zh) * 2019-12-10 2020-04-28 Oppo(重庆)智能科技有限公司 内存管理方法、装置、存储介质及电子设备
CN111143064A (zh) * 2019-12-25 2020-05-12 浙江中控技术股份有限公司 一种处理内存的方法及系统

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113630477A (zh) * 2021-10-11 2021-11-09 江苏荣泽信息科技股份有限公司 基于区块链预言机的高价值数据上链系统及方法

Similar Documents

Publication Publication Date Title
US7165255B2 (en) Method and apparatus for managing surplus memory in multitasking system
CN101986285B (zh) 虚拟机存储空间管理方法、系统及物理主机
JP4511653B2 (ja) マルチスレッド仮想マシン内におけるメモリ・アロケーションの方法及び装置
CN101542483B (zh) 用于数据存储系统中的资源回收的装置和方法
CN109753361B (zh) 一种内存管理方法、电子设备及存储装置
JPH02300949A (ja) メモリ制御方法
CN111857597A (zh) 一种热点数据缓存方法、系统及相关装置
CN108984295B (zh) 内存回收方法、计算机装置及计算机可读存储介质
CN111880734A (zh) 一种数据处理方法、系统、电子设备及存储介质
US20120331018A1 (en) System and method for use with garbage collected languages for enabling the allocated heap memory to be updated at runtime
CN102063338A (zh) 一种请求独占资源的方法及装置
CN110727517A (zh) 一种基于分区设计的内存分配方法和装置
CN112764930A (zh) 一种内存分配方法、装置、设备及计算机可读存储介质
CN108255608B (zh) 一种内存池的管理方法
CN113687873A (zh) 一种云服务页表中的大页内存配置方法、系统及相关装置
CN115712500A (zh) 内存释放、内存恢复方法、装置、计算机设备及存储介质
CN111813342A (zh) 一种数据回收方法、装置、设备及计算机可读存储介质
WO2022001136A1 (zh) 分布式存储系统Inode号分配管理方法及相关组件
CN106470218B (zh) 一种网络平台下资源内容回收的方法和装置
US6970893B2 (en) System and method for regeneration of methods and garbage collection of unused methods
CN110932935A (zh) 资源控制方法、装置、设备及计算机存储介质
CN113032292B (zh) 存储空间回收方法、数据读取方法及装置
CN112162949A (zh) 一种文件管理方法、系统、电子设备及存储介质
CN110688226B (zh) 一种缓存回收方法、装置、设备及可读存储介质
CN100557571C (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