CN101847127B - 一种内存管理方法及装置 - Google Patents
一种内存管理方法及装置 Download PDFInfo
- Publication number
- CN101847127B CN101847127B CN2010102132986A CN201010213298A CN101847127B CN 101847127 B CN101847127 B CN 101847127B CN 2010102132986 A CN2010102132986 A CN 2010102132986A CN 201010213298 A CN201010213298 A CN 201010213298A CN 101847127 B CN101847127 B CN 101847127B
- Authority
- CN
- China
- Prior art keywords
- memory
- cache pool
- buffer stopper
- memory object
- full
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本发明公开了一种内存管理方法及装置,其中方法包括:记录缓存池中当前可用内存对象的数量;当缓存池中当前可用内存对象的数量低于预设的第一阈值时,为缓存池分配新的缓冲块;访问新的缓冲块,为新的缓冲块中的内存对象分配对应的物理页。本发明提供的上述内存管理方法及装置,能够在缓存池中可用内存对象数量不足时就预先触发为其分配新的缓冲块的流程,并且为新的缓冲块直接分配对应的物理页,避免了现有的内存管理方法中,当应用程序申请缓存池中的内存对象时,出现分配给应用程序的可用内存对象的总和大于可用的物理内存的情况导致的应用程序线程阻塞的问题。
Description
技术领域
本发明涉及内存管理技术领域,尤其涉及一种内存管理方法及装置。
背景技术
现有的内存管理方法中,有一种Slab算法,Slab算法的模型,如图1所示,在Slab算法中,针对某一种类型对象的逻辑内存的管理分为了多级:
第一级、缓存池(cache),存放内存对象及管理缓存池自身所需的数据结构,每种对象类型都有其对应的缓存池;
第二级、缓冲块(buffer),多个缓冲块构成一个缓存池,每个缓冲块容纳固定个数的内存对象。缓冲块是整个缓存池向系统申请内存时的基本单位。
缓冲块按照其中包含的空闲的内存对象的数目,可以分为全满(即其所有的内存对象都未被申请使用)、部分满(即其包含的内存对象中部分已被申请使用)和全空(即其包含的内存对象中已全部被申请使用)三种类型。
第三级、内存对象(object),每个缓冲块中包含固定个数的内存对象,是应用程序申请内存的基本单位。
现有采用虚拟内存技术、请求页调度技术和Slab算法的内存管理方法,存在下述不足:
在应用程序申请缓存池中的内存对象时,内核中采用上述Slab算法的内存管理模块返回给应用程序一个指向内存对象的指针,并没有真正为这个内存对象分配对应的物理页(物理页是物理内存的基本单元),如果某个时刻应用程序申请内存对象时,出现了分配给应用程序的逻辑内存大小(实际就是已分配内存对象的大小总和)大于实际可用的物理内存的情况,按照现有的上述内存管理方法,可能会出现没有可用的物理内存,从而导致应用程序的线程阻塞,直到有物理页可用为止。
发明内容
本发明实施例提供一种内存管理方法及装置,用以解决现有内存管理方法存在的在物理内存不足情况下导致应用程序线程出现阻塞的问题。
本发明实施例提供的一种内存的管理方法,包括:
记录缓存池中当前可用内存对象的数量;
当缓存池中当前可用内存对象的数量低于预设的第一阈值时,为所述缓存池分配新的缓冲块;所述为缓存池分配新的缓存块的步骤由一个独立于申请内存的应用程序的专门的线程实现;所述新的缓冲块所占用的物理页的大小与所述缓存池中已有内存对象所占用的物理页的大小的总和小于为该缓存池预留的物理内存的大小;
访问所述新的缓冲块,为所述新的缓冲块中的内存对象分配对应的物理页。
本发明实施例提供的一种内存管理装置,包括:
记录模块,用于记录缓存池中当前可用内存对象的数量;
缓冲块分配模块,用于当缓存池中当前可用内存对象的数量低于预设的第一阈值时,为所述缓冲池分配新的缓冲块;所述为缓存池分配新的缓存块由一个独立于申请内存的应用程序的专门的线程实现;所述新的缓冲块所占用的物理页的大小与所述缓存池中已有内存对象所占用的物理页的大小的总和小于为该缓存池预留的物理内存的大小;
物理页分配模块,用于为所述新的缓冲块中的内存对象分配对应的物理页。
本发明实施例的有益效果包括:
本发明实施例提供的内存管理方法及装置,对缓存池中当前可用的内存对象的数量进行监控,当出现当前可用内存对象的数量低于预先设置的第一阈值时,启动为缓存池分配缓冲块的步骤,并且访问新的缓冲块,为新的缓冲块中的内存对象分配对应的物理页,本发明能够在缓存池中可用内存对象数量不足时就预先触发为其分配新的缓冲块的流程,并且为新的缓冲块中的内存对象直接分配对应的物理页,避免了现有的内存管理方法中,当应用程序申请缓存池中的内存对象时,可能出现的分配给应用程序的可用内存对象的总和大于可用的物理内存的情况导致的应用程序线程在运行过程中出现阻塞的问题。
附图说明
图1为现有内存管理算法中Slab算法的模型示意图;
图2为本发明实施例提供的内存管理方法的流程图;
图3为本发明实施例提供的内存管理算法的实例的示意图;
图4为本发明实施例提供的内存管理装置的结构示意图。
具体实施方式
下面结合附图,对本发明实施例提供的一种内存管理方法及装置进行详细地说明。
本发明实施例提供的内存管理方法及装置,对现有的采用Slab算法的内存管理方法做出了改进。
本发明实施例提供的内存管理方法,如图2所示,包括下述步骤:
S201、记录缓存池中当前的可用内存对象的数量;
S202、当缓存池中当前的可用内存对象的数量低于第一阈值时,为缓冲池分配新的缓冲块;新的缓冲块所占用的物理页的大小与该缓存池中已有内存对象所占用的物理页的大小的总和小于为该缓存池预留的物理内存的大小;
S203、逐一访问新的缓冲块,为新的缓冲块的内存对象分配对应的物理页。
上述步骤S202中,第一阈值的大小可以根据为该缓存池预留的可用物理内存大小的预设的比例值来确定;例如,可以将该比例设置为百分之十,也就是将为该缓存池预留的物理内存大小的百分之十除以每个内存对象的大小,得到第一阈值。如果当前预留的可用物理内存空间较大,而应用程序申请的内存对象的数量不多,那么可以通过将预设的比例值设置的较低一些,使得预设的第一阈值的大小也相应稍低一些,反之,可以通过将预设的比例值设置的稍大一些,使得预设的第一阈值的大小也相应的稍高一些。
本发明实施例提供的内存管理方法,当缓存池中当前可用内存对象的数量低于第二阈值时,还包括下述步骤:
对于预先设定的高优先级的应用程序的内存申请的要求,分配缓存池中的可用内存对象;
对于预先设定的低优先级的应用程序的内存申请的要求,停止分配缓存池中的内存对象。
本发明实施例中,第二阈值的大小可以小于第一阈值,也可以大于等于第一阈值。
较佳地,在具体实施时,上述为缓冲池分配新的缓冲块的步骤可以由一个专门的线程负责完成,该线程与申请内存的应用程序之间相互独立,这种做法的好处在于能够有效避免下述情况:如果将该线程运行于应用程序之中,而该应用程序在分配物理页的过程中由于物理页不足导致被阻塞时无法完成为缓冲池分配新的缓冲块的步骤。
本发明提供的上述内存管理方法,在具体实现时,可以通过如图3的实例来实现,在该实例中,在应用程序中增加相应的内存管理功能,并且新增了内存监控线程(用thread_mem_monitor表示)。
在该实例中,应用程序包括四个例程,缓存创建例程(用xmem_cache_create表示)、缓存分配例程(xmem_cache_alloc表示)、缓存释放例程(xmem_cache_free表示)和缓存池销毁例程(xmem_cache_destroy表示)。
改进后的Slab的数据结构在现有Slab的数据结构上增加了两个阈值指标,第一水线(即前述的第一阈值,用WATER_MARK_1表示)和第二水线(即前述的第二阈值,用WATER_MARK_2表示)。其中,第一水线高于第二水线。
第一水线的作用在于:当缓存池中可用对象低于第一水线时,激活内存监控线程thread_mem_monitor,由该线程为缓存池中添加新的缓冲块。
第二水线的作用在于:当缓存池中可用对象数量进一步地低于第二水线时,仅满足高优先级的应用程序申请内存的需求,对于低优先级的应用程序申请内存的需求,则不予分配,直接返回空指针,或者调用线程阻塞,直到可用对象高于第二水线。
应用程序的高优先级和低优先级是预先设定的,在设定时,可以通过对应用程序的可执行文件进行扩展,在扩展后的可执行文件中增加自定义的高优先级或低优先级的属性段。在本发明实施例在具体实施时,也可以将设置为多级优先级,将部分较高的优先级级别作为高优先级,其他优先级级别作为低优先级,在可用对象数量低于第二水线时,根据应用程序携带的优先级级别属性段,判断其是高优先级还是低优先级并作相应的处理。
下面简单说明这个实例的运行原理。
首先xmem_cache_create例程创建缓存池。通常这个例程只在程序初始化时进行调用。
应用程序申请内存对象之前,必须先建立起放置内存对象的缓存池。因为可能涉及多种类型的对象,例如MAC地址、路由表等等,因此,可以为每一种类型的对象都分别创建其对应的缓存池,本实例中仅以一种类型的对象的创建过程为例进行说明。
创建缓存池的过程,包括与现有技术中相同的步骤即初始化FULL_BUFFER链表(缓存池中所包含的全满缓冲块标识组成的列表)、PARTILA_BUFFER链表(缓存池中所包含的部分满缓冲块标识组成的列表)和EMPTY_BUFFER链表(缓存池中已没有可用对象的缓冲块标识组成的列表)的步骤,以及确定每个内存对象的大小(OBJ_SIZE)和每个缓冲块中包含内存对象的数目(OBJ-NUM)的步骤和创建用于记录缓存池中部分满和全满缓冲块中可用对象数量的总和的参数(FREE_NUM)的步骤。
上述部分满的缓冲块为所包含的内存对象部分已被分配的缓冲块;
上述全满缓冲块为所包含的所有内存对象都未被申请使用的缓冲块。
在缓存池创建过程中以及创建完成正常运行过程中,上述FREE_NUM的参数会不断根据可用内存对象的总数的变化情况而发生相应的变化。
本实例中创建缓存池的过程,与现有技术不同之处在于还包括确定第一水线和第二水线的具体大小的过程,例如,可以将第一水线的大小设置等于每缓冲块所包含内存对象的个数的3倍,将第二水线的大小设置等于每缓冲块所包含内存对象的个数。
在创建缓存池的步骤完成之前,由于缓存池中没有缓存块也就没有可用的内存对象,参数(FREE_NUM)的初始值为零,满足了缓存池中当前可用内存对象的数量低于第一水线的这一条件,此时应用程序的xmem_cache_create例程给内存监控线程thread_mem_monitor发送消息。
内存监控线程thread_mem_monitor收到消息后,为新创建的缓存池分配缓冲块,并逐一访问新分配的缓冲块,触发请求页调度,也就是触发操作系统为新分配的缓冲块分配对应的物理页,这样就可以避免后续应用程序访问缓存池中的内存对象时,如果物理页不足导致的应用程序运行被阻塞。
xmem_cache_alloc例程负责当应用程序需要申请内存对象时,从缓存池中获取可用内存对象分配给应用程序。具体来说,就是监控缓存池中可用内存对象的总数量(FREE_NUM)的大小,如果可用内存对象的总数低于第一水线,那么给内存监控线程thread_mem_monitor发送消息,触发其向缓存池中分配缓冲块,并给每个新分配的缓冲块分配对应的物理页。
现有的内存管理方法中,平等对待所有应用程序的内存申请请求,而实际上,应用程序申请内存的用途不同,当缓存池中可用内存对象数目不足时,某些应用程序应当比其他应用程序优先获得内存,例如用于出错处理的应用程序的内存需求往往比其他内存需求更紧急,在现有的内存管理方法中无法对这样的应用程序优先满足其内存需求,为了解决上述问题,本发明实施例提供了下述技术方案:
当缓存池中的可用内存对象的总数低于第二水线时,对于预先设定的高优先级的应用程序的内存申请的要求,从部分满和/或全满的缓冲块中获取可用内存对象进行分配;
对于预先设定的低优先级的应用程序的内存申请的要求,停止分配缓存池中的内存对象。
当应用程序不再需要使用内存对象时,xmem_cache_free例程将该内存对象释放回缓存池中。
当不再需要使用缓存池时,可以使用xmem_cache_destroy例程完成释放整个缓存池的过程即:释放缓存池中每个缓冲块的内存对象;进一步地释放每个缓冲块;进而释放整个缓存池。
上述实例是以第一水线高于第二水线为例进行说明的,在上述实例中,第二水线也可以高于或者等于第二水线。
基于同一发明构思,本发明实施例还提供了一种内存管理装置,由于该装置解决问题的原理与前述一种内存管理方法相似,因此该装置的实施可以参见方法的实施,重复之处不在赘述。
本发明实施例提供的一种内存管理装置401,如图4所示,包括记录模块4011、缓冲块分配模块4012和物理页分配模块4013;其中:
记录模块4011,用于记录缓存池402中当前的可用内存对象的数量;
缓冲块分配模块4012,用于当缓存池402中当前可用内存对象的数量低于预设的第一阈值时,为缓冲池402分配新的缓冲块;新的缓冲块所占用的物理页的大小与所述缓存池中已有内存对象所占用的物理页的大小的总和小于为该缓存池预留的物理内存的大小;
物理页分配模块4013,用于为新的缓冲块中的内存对象分配对应的物理页。
较佳地,本发明实施例中,上述缓冲块分配模块4012的功能可以由一个专门的线程实现,该线程与申请内存的应用程序之间相互独立。这种做法的好处在于能够有效避免下述情况:如果将该线程运行于应用程序之中,而该应用程序在分配物理页的过程中由于物理页不足导致被阻塞时无法完成为缓冲池分配新的缓冲块的步骤。
进一步地,上述内存管理装置,如图4所示,还可以包括:
内存对象分配模块4014,用于当缓存池402中当前可用内存对象的数量低于第二阈值时,对于预先设定的高优先级的应用程序的内存申请的要求,分配缓存池402中的可用内存对象;以及当缓存池402中当前可用内存对象的数量低于第二阈值时,对于预先设定的低优先级的应用程序的内存申请的要求,停止分配缓存池中的内存对象;
该第二阈值的大小可以小于第一阈值,或者大于等于第一阈值。
上述内存管理装置中的记录模块4011,进一步用于记录缓存池402中,部分满和全满的缓冲块中可用内存对象数量的总和;部分满的缓冲块为所包含的内存对象部分已被分配的缓冲块;全满的缓冲块为所包含的内存对象都未被分配的缓冲块;
上述内存管理装置中的内存对象分配模块4014,进一步用于从缓存池402中,部分满和/或全满的缓冲块中获取可用内存对象进行分配。
进一步地,上述内存管理装置,如图4所示,还可以包括:释放模块4015,用于当不再需要使用缓存池402时,释放缓存池402中每个缓冲块的内存对象,释放每个缓冲块,然后释放整个缓存池402。
本发明实施例提供的内存管理方法及装置,对缓存池中当前可用的内存对象的数量进行监控,当出现当前可用内存对象的数量低于预先设置的第一阈值时,启动为缓存池分配缓冲块的步骤,并且访问新的缓冲块,为新的缓冲块中的内存对象分配对应的物理页,本发明能够在缓存池中可用内存对象数量不足时就预先触发为其分配新的缓冲块的流程,并且为新的缓冲块中的内存对象直接分配对应的物理页,避免了现有的内存管理方法中,当应用程序申请缓存池中的内存对象时,可能出现的分配给应用程序的可用内存对象的总和大于可用的物理内存的情况导致的应用程序线程在运行过程中出现阻塞的问题。
进一步地,本发明实施例提供的内存管理方法及装置,当缓冲池中的可用内存对象降低达到第二阈值时,对于预先设定的高优先级的应用程序的内存申请的要求,分配缓存池中的可用内存对象;而对低优先级的应用程序的内存申请的要求,则不予满足。本发明实施例在可用内存对象不足的情况下,根据实际内存需求的紧急程度优先满足高优先级的应用程序的内存申请需求,提高了内存分配的灵活度和内存的使用效率。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (12)
1.一种内存管理方法,其特征在于,包括:
记录缓存池中当前可用内存对象的数量;
当缓存池中当前可用内存对象的数量低于预设的第一阈值时,为所述缓存池分配新的缓冲块;所述为缓存池分配新的缓冲块的步骤由一个独立于申请内存的应用程序的专门的线程实现;所述新的缓冲块所占用的物理页的大小与所述缓存池中已有内存对象所占用的物理页的大小的总和小于为该缓存池预留的物理内存的大小;
访问所述新的缓冲块,为所述新的缓冲块中的内存对象分配对应的物理页。
2.如权利要求1所述的方法,其特征在于,第一阈值的大小根据为该缓存池预留的物理内存大小设定的比例值来确定。
3.如权利要求1或2所述的方法,其特征在于,当缓存池中当前可用内存对象的数量低于预设的第二阈值时,还包括:
对于预先设定的高优先级的应用程序的内存申请的要求,分配缓存池中的可用内存对象;
对于预先设定的低优先级的应用程序的内存申请的要求,停止分配缓存池中的内存对象。
4.如权利要求3所述的方法,其特征在于,所述应用程序预先设定的优先级通过下述方式实现:
对应用程序的可执行文件进行扩展,在扩展后的可执行文件中增加自定义的高优先级或低优先级的属性段。
5.如权利要求3所述的方法,其特征在于,所述记录缓存池中当前的可用内存对象的数量,包括:
记录缓存池中,部分满和全满的缓冲块中可用内存对象数量的总和;所述部分满的缓冲块为所包含的内存对象部分已被分配的缓冲块,所述全满的缓冲块为所包含的内存对象都未被分配的缓冲块。
6.如权利要求5所述的方法,其特征在于,分配缓存池中的可用内存对象,包括:
从缓存池中,部分满和/或全满的缓冲块中获取可用内存对象进行分配。
7.如权利要求1或2所述的方法,其特征在于,当不再需要使用缓存池时,还包括:
释放缓存池中每个缓冲块的内存对象;
释放每个缓冲块;
释放整个缓存池。
8.一种内存管理装置,其特征在于,包括:
记录模块,用于记录缓存池中当前可用内存对象的数量;
缓冲块分配模块,用于当缓存池中当前可用内存对象的数量低于预设的第一阈值时,为所述缓冲池分配新的缓冲块;所述为缓存池分配新的缓冲块由一个独立于申请内存的应用程序的专门的线程实现;所述新的缓冲块所占用的物理页的大小与所述缓存池中已有内存对象所占用的物理页的大小的总和小于为该缓存池预留的物理内存的大小;
物理页分配模块,用于为所述新的缓冲块中的内存对象分配对应的物理页。
9.如权利要求8所述的装置,其特征在于,进一步还包括:
内存对象分配模块,用于当缓存池中当前可用内存对象的数量低于预设的第二阈值时,对于预先设定的高优先级的应用程序的内存申请的要求,分配缓存池中的可用内存对象;以及当缓存池中当前可用内存对象的数量低于第二阈值时,对于预先设定的低优先级的应用程序的内存申请的要求,停止分配缓存池中的内存对象。
10.如权利要求9所述的装置,其特征在于,所述记录模块,进一步用于记录缓存池中,部分满和全满的缓冲块中可用内存对象数量的总和;所述部分满的缓冲块为所包含的内存对象部分已被分配的缓冲块;所述全满的缓冲块为所包含的内存对象都未被分配的缓冲块。
11.如权利要求10所述的装置,其特征在于,所述内存对象分配模块,进一步用于从缓存池中,部分满和/或全满的缓冲块中获取可用内存对象进行分配。
12.如权利要求8-11任一项所述的装置,其特征在于,进一步还包括:
释放模块,用于当不再需要使用缓存池时,释放缓存池中每个缓冲块的内存对象,释放每个缓冲块,释放整个缓存池。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010102132986A CN101847127B (zh) | 2010-06-18 | 2010-06-18 | 一种内存管理方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010102132986A CN101847127B (zh) | 2010-06-18 | 2010-06-18 | 一种内存管理方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101847127A CN101847127A (zh) | 2010-09-29 |
CN101847127B true CN101847127B (zh) | 2012-01-25 |
Family
ID=42771752
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010102132986A Expired - Fee Related CN101847127B (zh) | 2010-06-18 | 2010-06-18 | 一种内存管理方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101847127B (zh) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106843758A (zh) * | 2011-05-23 | 2017-06-13 | 中兴通讯股份有限公司 | 一种移动设备内存管理方法及装置 |
CN103024538A (zh) * | 2012-11-12 | 2013-04-03 | 北京奇虎科技有限公司 | 内存管理方法及系统 |
CN103226520B (zh) * | 2013-04-02 | 2016-09-07 | 中国科学院信息工程研究所 | 集群内存自适应管理方法、服务器集群系统 |
CN103412825B (zh) * | 2013-05-21 | 2016-12-28 | 青岛海信移动通信技术股份有限公司 | 一种内存释放方法及装置 |
CN108139969B (zh) * | 2015-10-28 | 2021-06-08 | 华为技术有限公司 | 一种内存配置方法、装置及系统 |
CN107665146B (zh) * | 2016-07-29 | 2020-07-07 | 华为技术有限公司 | 内存管理装置和方法 |
CN107145582B (zh) * | 2017-05-09 | 2022-01-04 | 深圳Tcl新技术有限公司 | 数据库游标的控制方法与数据库系统 |
CN108984280B (zh) * | 2017-06-05 | 2022-04-22 | 深圳市中兴微电子技术有限公司 | 一种片外存储器的管理方法和装置、计算机可读存储介质 |
WO2020121416A1 (ja) * | 2018-12-11 | 2020-06-18 | サンケン電気株式会社 | プロセッサ及びパイプライン処理方法 |
CN109766143A (zh) * | 2019-01-16 | 2019-05-17 | 广州虎牙信息科技有限公司 | 对象加载方法、装置、终端及存储介质 |
CN110519363B (zh) * | 2019-08-23 | 2022-03-22 | 苏州浪潮智能科技有限公司 | 一种存储设备集群及其管理方法 |
CN112817769A (zh) * | 2021-03-05 | 2021-05-18 | 网易(杭州)网络有限公司 | 游戏资源动态缓存方法、装置、存储介质与电子设备 |
CN113076193B (zh) * | 2021-03-26 | 2024-03-26 | 北京车和家信息技术有限公司 | 一种内存优化的方法、装置及计算机可读存储介质 |
CN112988078B (zh) * | 2021-04-27 | 2023-07-14 | 山东英信计算机技术有限公司 | 一种分布式存储应用中缓存内存占用的管理方法及装置 |
CN115934585A (zh) * | 2021-08-04 | 2023-04-07 | 华为技术有限公司 | 内存管理方法、装置和计算机设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1996258A (zh) * | 2006-12-28 | 2007-07-11 | 武汉虹旭信息技术有限责任公司 | 一种动态内存池的实现方法 |
CN101169759A (zh) * | 2007-11-08 | 2008-04-30 | Ut斯达康通讯有限公司 | 应用程序级的内存管理方法 |
CN101286878A (zh) * | 2008-04-22 | 2008-10-15 | 中兴通讯股份有限公司 | 一种终端的内存池的管理方法 |
CN101320351A (zh) * | 2008-06-27 | 2008-12-10 | 华中科技大学 | 内存的分配、清理和释放方法及内存管理的装置 |
CN101329655A (zh) * | 2008-07-31 | 2008-12-24 | 北京天碁科技有限公司 | 一种内存管理方法和内存管理装置 |
CN101739346A (zh) * | 2009-12-04 | 2010-06-16 | 北京工业大学 | 对安全控制模块内存进行集中控制的方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7882285B2 (en) * | 2007-12-18 | 2011-02-01 | International Business Machines Corporation | Buffer cache management to prevent deadlocks |
-
2010
- 2010-06-18 CN CN2010102132986A patent/CN101847127B/zh not_active Expired - Fee Related
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1996258A (zh) * | 2006-12-28 | 2007-07-11 | 武汉虹旭信息技术有限责任公司 | 一种动态内存池的实现方法 |
CN101169759A (zh) * | 2007-11-08 | 2008-04-30 | Ut斯达康通讯有限公司 | 应用程序级的内存管理方法 |
CN101286878A (zh) * | 2008-04-22 | 2008-10-15 | 中兴通讯股份有限公司 | 一种终端的内存池的管理方法 |
CN101320351A (zh) * | 2008-06-27 | 2008-12-10 | 华中科技大学 | 内存的分配、清理和释放方法及内存管理的装置 |
CN101329655A (zh) * | 2008-07-31 | 2008-12-24 | 北京天碁科技有限公司 | 一种内存管理方法和内存管理装置 |
CN101739346A (zh) * | 2009-12-04 | 2010-06-16 | 北京工业大学 | 对安全控制模块内存进行集中控制的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101847127A (zh) | 2010-09-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101847127B (zh) | 一种内存管理方法及装置 | |
CN104090847B (zh) | 一种固态存储设备的地址分配方法 | |
CN104317742B (zh) | 一种优化空间管理的自动精简配置方法 | |
CN1132112C (zh) | 用于保留资源的方法及计算机系统 | |
CN102193814A (zh) | 嵌入式虚拟化内存动态分配方法及系统 | |
CN105337896A (zh) | 报文处理方法和装置 | |
CN103180830A (zh) | 中央处理器资源分配方法和计算节点 | |
CN105302497A (zh) | 一种缓存管理方法与系统 | |
CN101673244B (zh) | 多核或集群系统的存储器控制方法 | |
CN108121603B (zh) | 一种嵌入式系统内存管理方法 | |
JP2013513174A (ja) | 仮想マシンのストレージスペースおよび物理ホストを管理するための方法およびシステム | |
CN107209716B (zh) | 内存管理装置和方法 | |
CN102455974A (zh) | 一种内存消耗可控的高速内存申请释放管理系统及方法 | |
CN102193874A (zh) | 用于管理存储器的缓存管理器和方法 | |
CN104317734A (zh) | 一种适用于slab的内存分配方法及装置 | |
CN107818012B (zh) | 一种数据处理方法、装置及电子设备 | |
CN102929834A (zh) | 众核处理器及其核间通信的方法、主核和从核 | |
CN105094751A (zh) | 一种用于流式数据并行处理的内存管理方法 | |
CN101226553A (zh) | 一种嵌入式数据库变长字段存储的实现方法及装置 | |
CN108038062B (zh) | 嵌入式系统的内存管理方法和装置 | |
WO2016202154A1 (zh) | 一种gpu资源的分配方法及系统 | |
CN103218305A (zh) | 存储空间的分配方法 | |
CN108932112B (zh) | 一种固态颗粒的数据读写方法、装置、设备及介质 | |
CN100557578C (zh) | 动态存储管理装置及方法 | |
CN1327348C (zh) | 解决频繁分配释放同等大小内存的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CP01 | Change in the name or title of a patent holder | ||
CP01 | Change in the name or title of a patent holder |
Address after: Cangshan District of Fuzhou City, Fujian province 350002 Jinshan Road No. 618 Garden Industrial Park Building No. 19 Patentee after: RUIJIE NETWORKS Co.,Ltd. Address before: Cangshan District of Fuzhou City, Fujian province 350002 Jinshan Road No. 618 Garden Industrial Park Building No. 19 Patentee before: Fujian Star Network Ruijie Networks Co.,Ltd. |
|
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120125 Termination date: 20210618 |