CN102012870A - 内存分配方法 - Google Patents
内存分配方法 Download PDFInfo
- Publication number
- CN102012870A CN102012870A CN 201010550117 CN201010550117A CN102012870A CN 102012870 A CN102012870 A CN 102012870A CN 201010550117 CN201010550117 CN 201010550117 CN 201010550117 A CN201010550117 A CN 201010550117A CN 102012870 A CN102012870 A CN 102012870A
- Authority
- CN
- China
- Prior art keywords
- length
- memory
- node
- location
- blank
- 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.)
- Granted
Links
- 230000015654 memory Effects 0.000 title claims abstract description 151
- 238000000034 method Methods 0.000 title claims abstract description 23
- 230000004044 response Effects 0.000 claims description 3
- 239000012634 fragment Substances 0.000 abstract description 3
- 230000007547 defect Effects 0.000 abstract 1
- 238000007726 management method Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 238000009826 distribution Methods 0.000 description 4
- 230000008520 organization Effects 0.000 description 2
- 238000011084 recovery Methods 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 238000003860 storage Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 239000004020 conductor Substances 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000007599 discharging Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000012467 final product Substances 0.000 description 1
- 238000013467 fragmentation Methods 0.000 description 1
- 238000006062 fragmentation reaction Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000004064 recycling Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Landscapes
- Memory System (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种内存分配方法。所述方法包括步骤S1:对所要管理的内存建立并初始化线段树结构;S2:内核或应用程序申请内存;S3:线段树回收内核或应用释放的内存。采用线段树的方式进行物理内存管理,能够保证所提供的内存地址是物理连续的,且可高效地申请特定物理地址的内存进行分配而不会影响整体的性能,克服了普通内存管理方法的易于产生内存碎片,效率不高,无法保证物理地址连续等缺点。
Description
技术领域
本发明涉及计算机科学技术领域,特别涉及一种内存分配方法。
背景技术
随着计算机硬件制造技术的不断发展,市场上不仅出现了速度更快容量更大的内存,越来越多的应用也依赖于操作系统对内存的良好管理才能发挥作用。伴随着操作系统从单用户单任务发展到多任务多用户,内存管理也从最早的固定区域内存划分(即现在的嵌入式系统中的内存池管理方法)发展到内存管理单元(Memory ManagementUnit,MMU)出现之后所支持的段页式的内存管理,再到虚拟内存的概念,内存管理不断提供更强更灵活的服务给用户。
在基于段页式的的内存分配方法中无论是较为早期的buddy算法还是基于buddy的slab算法,都是将内存划分为事先约定好的2的幂次方大小的内存块,以此为基础再进行内存的分配和回收。而用户通常所申请的内存区域往往并不是2的幂次方,这样就不可避免的产生大量的块内碎片,从而降低了内存的使用效率。另一方面在有些应用场景下,用户可能希望系统分配指定地址的内存,而buddy和slab限于所使用的内存组织方式很难提供这样的服务。
发明内容
(一)要解决的技术问题
本发明要解决的技术问题是:如何提出一种内存分配方法解决传统内存管理方法所存在容易产生碎片和无法分配指定区域内存的问题。
(二)技术方案
为解决上述技术问题,本发明提供了一种内存分配方法,包括以下步骤:
S1:将内存划分为固定大小的内存块,为所述内存建立一棵线段树,所述线段树的叶节点对应所述固定大小的内存块,从内存起始位开始,以每两个相邻叶节点为子节点依次创建一个内部节点,以相邻两个内部节点为子节点创建上一层内部节点,依次向上递归直到创建出一个根节点,所述每个节点记录如下信息,并在分配时初始化所述信息:
所述节点对应的内存区域的起始和终止端点:start和end;
所述节点对应的内存区域内最大连续空闲内存的长度max_blank_length和其起始位置location;
所述节点对应的内存区域内由起始端点向右的最长连续空闲内存长度left_blank_length,由终止端点向左的最长连续空闲内存长度right_blank_length;
S2:响应内核或是应用程序申请内存的请求,根据所述线段树分配申请的内存;
S3:根据所述线段树回收内核或是应用程序释放的内存。
其中,所述步骤S1具体包括:
统计所述内存的长度;
根节点的start和end分别为所述内存的起始位置和终止位置,初始情况下默认整个内存区域全部为空闲状态,max_blank_length为内存区域的长度,location等于start,left_blank_length等于right_blank_length等于max_blank_length;
自顶向下,根据每个节点的父节点信息及本身所在左子树或右子树,采用递归方式初始化每个节点的start、end、max_blank_length、location、left_blank_length和right_blank_length,至叶子节点为止。
其中,所述步骤S2具体包括:
查找根节点的所述信息,若申请的内存区域长度mem_length大于根节点的max_blank_length返回错误信息,否则,返回根节点中的location,记为start_location,则要申请的内存区域为[start_location,start_location+mem_length);
从根节点开始依次向下递归处理上一步得到的[start_location,start_location+mem_length),若start_location=start且start_location+mem_length=end,当前节点所对应的内存区域就是所要处理的区间,则当前节点的start和end不变,max_blank_length置零location置-1代表此节点所对应的内存区域已经全部都被分配,left_blank_length和right_blank_length也均置零;
若start_location>start或start_location+mem_length<end两个条件中有至少一个成立则将[start_location,location+mem_length)拆分为[start_location,start_location+(start+end)/2)和[start_location+(start+end)/2,start_location+mem_length)分别交由左子节点和右子节点处理,直到递归到叶子节点对应的内存为止;
由叶节点开始自底向上,更新每个节点的所述信息,由节点更新过的子节点更新节点本身的信息,最终到根节点为止,max_length取左子节点中的max_length、右子节点中的max_length及左子节点的right_blank_length加右子节点的left_blank_length之和三者中的最大值,location取三者中最大值的内存区域所对应的location,left_blank_length更新为左子节点的left_blank_length,right_blank_length更新为右子节点的right_blank_length。
其中,所述固定大小的内存块为256B~64KB。
其中,所述固定大小的内存块为4KB。
(三)有益效果
本发明通过将内存划分为指定大小的内存块,并建立和内存块对应的线段树来分配和回收内存,避免了内存碎片的产生,并能高效地实现指定内存区域的分配。
附图说明
图1是本发明实施例的一种内存分配方法流程图;
图2是本发明实施例的内存分配方法中建立的线段树示意图;
图3是本发明实施例的内存分配方法中内存某一分配状态示意图;
图4是根据图2中线段树进行非指定区域分配内存的示意图。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
如图1所示,本发明实施例的一种内存分配方法流程图,包含内存的分配和回收,具体包括:
步骤S101,获得内存信息,即将管理的内存划分为固定大小的内存块,并为所述内存建立一棵线段树。线段树的叶节点对应所述固定大小的内存块,从内存起始位开始,以每两个相邻叶节点为子节点依次创建一个内部节点,以相邻两个内部节点为子节点创建上一层内部节点,依次向上递归直到创建出一个根节点。由此看出,树中的每个节点代表一段指定的内存区间,除叶子节点外每个节点均有两个子节点,分别代表此节点的左子区间和右子区间,根节点代表被线段树所管理的整个内存区间。叶子节点为线段树所管理内存的最细粒度,即固定内存块的大小,一般为256B~8KB。由于在实际的实现中,线段树的每个节点本身需要耗费一定的空间来存储其所管理内存区域的统计信息,因此若叶子节点的管理粒度细至每个Byte,则整个树的空间耗费会比其所管理的内存区间还大,出于实际情况的考虑,同内存的分页机制相结合,每个叶子节点代表的固定内存块为一个内存页大小,即4KB,是较为合适的管理粒度。如图2所示,示出了一棵长为16(16×4KB)的线段树,每个叶子节点对应的内存区域为4KB。以管理采用32位地址的从0x00000000起始的长度为512M的内存为例。512M共有217个页,每页对应一个叶子节点,则需要217个叶子节点。每两个相邻的叶子节点作为一个管理两个页的内部节点的孩子,而每两个管理两个页的内部节点作为管理四个页的内部节点的孩子,依次向上递归直到根节点,可知共217-1个内部节点。
每个节点记录如下信息,并在分配时进行初始化所述信息:
所述节点对应的内存区域的起始和终止端点:start和end;
所述节点对应的内存区域内最大连续空闲内存的长度max_blank_length和其起始位置location;
所述节点对应的内存区域内由起始端点向右的最长连续空闲内存长度left_blank_length,由终止端点向左的最长连续空闲内存长度right_blank_length。
在创建和初始化的同时分配线段树自己占用的内存,因为存储线段树的数据结构本身需要占用一定的内存,这里默认线段树自身所占用的内存也是为自己所管理的,故需事先分配。
步骤S102,在内存分配和释放前,需要初始化线段树。其步骤为:
统计所述内存的长度,(遵循左闭右开的表示方式,包括已分配给线段树的内存区域的长度);
根节点的start和end分别为所述内存的起始位置和终止位置,初始情况下默认整个内存区域全部为空闲状态,max_blank_length为内存区域的长度,location等于start,left_blank_length等于right_blank_length等于max_blank_length;
自顶向下,根据每个节点的父节点信息及本身所在左子树或右子树,采用递归方式初始化每个节点的start、end、max_blank_length、location、left_blank_length和right_blank_length,至叶子节点为止。
如图3所示,设有节点node其代表从[0x0000ff00,0x00010000)这么一段内存,其中黑色代表已经被分配,白色代表空闲。则:
start=0x0000ff00,
end=0x00010000,
max_blank_length=0x60,
location=0x40,
left_blank_length=0x0000ff20-0x0000ff00=0x20,
right_blank_length=0x00010000-0x0000ffe0=0x20。
步骤S103,响应内核或是应用程序申请内存的请求,根据所述线段树分配申请的内存,图4示出了内存区间[3,10)分配示意图。查找根节点的所述信息,若申请的内存区域长度mem_length大于根节点的max_blank_length返回错误信息,否则,返回根节点中的location,记为start_location,则要申请的内存区域为[start_location,start_location+mem_length)。
从根节点开始依次向下递归处理上一步得到的[start_location,start_location+mem_length),若start_location=start且start_location+mem_length=end,当前节点所对应的内存区域就是所要处理的区间,则当前节点的start和end不变,max_blank_length置零location置-1代表此节点所对应的内存区域已经全部都被分配,left_blank_length和right_blank_length也均置零。
若start_location>start或start_location+mem_length<end两个条件中有至少一个成立则将[start_location,location+mem_length)拆分为[start_location,start_location+(start+end)/2)和[start_location+(start+end)/2,start_location+mem_length)分别交由左子节点和右子节点处理,直到递归到叶子节点对应的内存为止。
若要分配指定区域的内存,设其为[request_start,request_end),只需在上述的分配操作中将[start_location,start_location+mem_length)替换为[request_start,request_end)即可,所有操作均相同。
步骤S104,由叶节点开始自底向上,更新每个节点的所述信息,由节点更新过的子节点更新节点本身的信息,最终到根节点为止,max_length取左子节点中的max_length、右子节点中的max_length及左子节点的right_blank_length加右子节点的left_blank_length之和三者中的最大值,location取三者中最大值的内存区域所对应的location,left_blank_length更新为左子节点的left_blank_length,right_blank_length更新为右子节点的right_blank_length。
步骤S105,向返回用户所申请的地址。
根据所述线段树回收内核或是应用程序释放的内存,其回收过程与分配过程为完全对称的操作,包括:
步骤S106,合并相邻的空闲内存区域,即将释放后相邻的两个或多个内存区域合并为一个内存区域。
步骤S107,更新线段树,其更新过程和S104相似,只是具体应用中数值的不同。
采用上述的内存分配和回收方式,内存各个段的使用情况被统计在一棵二维的静态树形结构中,这样便可将一维区间上的操作分解为在二维树状结构上的操作,从而提高了内存分配及回收过程中查询和修改操作的效率。具体来看,在一段区间上的操作,如采用普通的线性数据组织方式则查询耗费为O(1),维护耗费为O(n)。而把数据组织为线段树形结构,则可使查询与维护的耗费取得一个平衡,使查询和耗费均为O(log2M)。M为所操作区间的长度。
以上实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。
Claims (5)
1.一种内存分配方法,其特征在于,包括以下步骤:
S1:将内存划分为固定大小的内存块,为所述内存建立一棵线段树,所述线段树的叶节点对应所述固定大小的内存块,从内存起始位开始,以每两个相邻叶节点为子节点依次创建一个内部节点,以相邻两个内部节点为子节点创建上一层内部节点,依次向上递归直到创建出一个根节点,所述每个节点记录如下信息,并在分配时初始化所述信息:
所述节点对应的内存区域的起始和终止端点:start和end;
所述节点对应的内存区域内最大连续空闲内存的长度max_blank_length和其起始位置location;
所述节点对应的内存区域内由起始端点向右的最长连续空闲内存长度left_blank_length,由终止端点向左的最长连续空闲内存长度right_blank_length;
S2:响应内核或是应用程序申请内存的请求,根据所述线段树分配申请的内存;
S3:根据所述线段树回收内核或是应用程序释放的内存。
2.如权利要求1所述的内存分配方法,其特征在于,所述步骤S1具体包括:
统计所述内存的长度;
根节点的start和end分别为所述内存的起始位置和终止位置,初始情况下默认整个内存区域全部为空闲状态,max_blank_length为内存区域的长度,location等于start,left_blank_length等于right_blank_length等于max_blank_length;
自顶向下,根据每个节点的父节点信息及本身所在左子树或右子树,采用递归方式初始化每个节点的start、end、max_blank_length、location、left_blank_length和right_blank_length,至叶子节点为止。
3.如权利要求1所述的内存分配方法,其特征在于,所述步骤S2具体包括:
查找根节点的所述信息,若申请的内存区域长度mem_length大于根节点的max_blank_length返回错误信息,否则,返回根节点中的location,记为start_location,则要申请的内存区域为[start_location,start_location+mem_length);
从根节点开始依次向下递归处理上一步得到的[start_location,start_location+mem_length),若start_location=start且start_location+mem_length=end,当前节点所对应的内存区域就是所要处理的区间,则当前节点的start和end不变,max_blank_length置零location置-1代表此节点所对应的内存区域已经全部都被分配,left_blank_length和right_blank_length也均置零;
若start_location>start或start_location+mem_length<end两个条件中有至少一个成立则将[start_location,location+mem_length)拆分为[start_location,start_location+(start+end)/2)和[start_location+(start+end)/2,start_location+mem_length)分别交由左子节点和右子节点处理,直到递归到叶子节点对应的内存为止;
由叶节点开始自底向上,更新每个节点的所述信息,由节点更新过的子节点更新节点本身的信息,最终到根节点为止,max_length取左子节点中的max_length、右子节点中的max_length及左子节点的right_blank_length加右子节点的left_blank_length之和三者中的最大值,location取三者中最大值的内存区域所对应的location,left_blank_length 更新为左子节点的left_blank_length,right_blank_length更新为右子节点的right_blank_length。
4.如权利要求1~3中任一项所述的内存分配方法,其特征在于,所述固定大小的内存块为256B~8KB。
5.如权利要求4所述的内存分配方法,其特征在于,所述固定大小的内存块为4KB。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010105501179A CN102012870B (zh) | 2010-11-18 | 2010-11-18 | 内存分配方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010105501179A CN102012870B (zh) | 2010-11-18 | 2010-11-18 | 内存分配方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102012870A true CN102012870A (zh) | 2011-04-13 |
CN102012870B CN102012870B (zh) | 2012-05-23 |
Family
ID=43843045
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010105501179A Active CN102012870B (zh) | 2010-11-18 | 2010-11-18 | 内存分配方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102012870B (zh) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102591789A (zh) * | 2011-12-26 | 2012-07-18 | 成都市华为赛门铁克科技有限公司 | 存储空间回收方法及装置 |
CN105957011A (zh) * | 2016-05-25 | 2016-09-21 | 北京小米移动软件有限公司 | 图片处理方法及装置 |
WO2016187975A1 (zh) * | 2015-05-25 | 2016-12-01 | 中兴通讯股份有限公司 | 内存碎片整理方法及装置 |
CN106446178A (zh) * | 2016-09-23 | 2017-02-22 | 南京航空航天大学 | 磁盘区间树批量更新方法 |
CN107025256A (zh) * | 2015-11-06 | 2017-08-08 | 国际商业机器公司 | 用于减少基于云的服务的重新激活时间的方法和系统 |
CN107133182A (zh) * | 2016-02-29 | 2017-09-05 | 北大方正集团有限公司 | 一种内存管理方法及装置 |
CN108446178A (zh) * | 2018-03-05 | 2018-08-24 | 北京小米移动软件有限公司 | 优化卡顿的方法及装置 |
CN108647150A (zh) * | 2018-04-14 | 2018-10-12 | 温州职业技术学院 | 一种内存管理方法及系统 |
CN108874684A (zh) * | 2018-05-31 | 2018-11-23 | 北京赫芯斯信息技术有限公司 | 拆分cache缓存的nvdimm接口数据读写装置 |
CN109710542A (zh) * | 2018-12-28 | 2019-05-03 | 北京像素软件科技股份有限公司 | 一种满n叉树构建方法及装置 |
CN110704214A (zh) * | 2019-10-14 | 2020-01-17 | 北京京东乾石科技有限公司 | 进程间通信方法和装置 |
CN111857575A (zh) * | 2020-06-24 | 2020-10-30 | 国汽(北京)智能网联汽车研究院有限公司 | 计算平台内存空间确定方法、装置、设备及存储介质 |
CN113742058A (zh) * | 2021-02-10 | 2021-12-03 | 北京沃东天骏信息技术有限公司 | 管理堆外内存的方法和装置 |
EP4155946A4 (en) * | 2020-05-18 | 2024-01-10 | Cambricon (Xi'an) Semiconductor Co., Ltd. | METHOD AND DEVICE FOR ALLOCATING STORAGE ADDRESS FOR STORED DATA |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050216445A1 (en) * | 2004-03-26 | 2005-09-29 | Sumita Rao | Binary search tree system and method |
CN101082929A (zh) * | 2007-06-27 | 2007-12-05 | 腾讯科技(深圳)有限公司 | 一种构建内存树的方法及系统 |
US7392257B2 (en) * | 2004-11-30 | 2008-06-24 | Intel Corporation | Incorporating structural information into an extensible markup language document |
CN101763308A (zh) * | 2009-12-25 | 2010-06-30 | 中国科学院计算技术研究所 | 在运行时对堆数据进行池分配的方法 |
-
2010
- 2010-11-18 CN CN2010105501179A patent/CN102012870B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050216445A1 (en) * | 2004-03-26 | 2005-09-29 | Sumita Rao | Binary search tree system and method |
US7392257B2 (en) * | 2004-11-30 | 2008-06-24 | Intel Corporation | Incorporating structural information into an extensible markup language document |
CN101082929A (zh) * | 2007-06-27 | 2007-12-05 | 腾讯科技(深圳)有限公司 | 一种构建内存树的方法及系统 |
CN101763308A (zh) * | 2009-12-25 | 2010-06-30 | 中国科学院计算技术研究所 | 在运行时对堆数据进行池分配的方法 |
Cited By (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102591789B (zh) * | 2011-12-26 | 2014-11-05 | 华为数字技术(成都)有限公司 | 存储空间回收方法及装置 |
CN102591789A (zh) * | 2011-12-26 | 2012-07-18 | 成都市华为赛门铁克科技有限公司 | 存储空间回收方法及装置 |
WO2016187975A1 (zh) * | 2015-05-25 | 2016-12-01 | 中兴通讯股份有限公司 | 内存碎片整理方法及装置 |
CN106294189A (zh) * | 2015-05-25 | 2017-01-04 | 中兴通讯股份有限公司 | 内存碎片整理方法及装置 |
CN106294189B (zh) * | 2015-05-25 | 2020-09-25 | 中兴通讯股份有限公司 | 内存碎片整理方法及装置 |
CN107025256A (zh) * | 2015-11-06 | 2017-08-08 | 国际商业机器公司 | 用于减少基于云的服务的重新激活时间的方法和系统 |
US10834228B2 (en) | 2015-11-06 | 2020-11-10 | International Business Machines Corporation | Method to reduce reactivation time of cloud based services |
CN107025256B (zh) * | 2015-11-06 | 2020-05-19 | 国际商业机器公司 | 用于减少基于云的服务的重新激活时间的方法和系统 |
CN107133182A (zh) * | 2016-02-29 | 2017-09-05 | 北大方正集团有限公司 | 一种内存管理方法及装置 |
CN105957011B (zh) * | 2016-05-25 | 2019-05-21 | 北京小米移动软件有限公司 | 图片处理方法及装置 |
CN105957011A (zh) * | 2016-05-25 | 2016-09-21 | 北京小米移动软件有限公司 | 图片处理方法及装置 |
CN106446178A (zh) * | 2016-09-23 | 2017-02-22 | 南京航空航天大学 | 磁盘区间树批量更新方法 |
CN108446178A (zh) * | 2018-03-05 | 2018-08-24 | 北京小米移动软件有限公司 | 优化卡顿的方法及装置 |
CN108647150A (zh) * | 2018-04-14 | 2018-10-12 | 温州职业技术学院 | 一种内存管理方法及系统 |
CN108874684A (zh) * | 2018-05-31 | 2018-11-23 | 北京赫芯斯信息技术有限公司 | 拆分cache缓存的nvdimm接口数据读写装置 |
CN109710542A (zh) * | 2018-12-28 | 2019-05-03 | 北京像素软件科技股份有限公司 | 一种满n叉树构建方法及装置 |
CN109710542B (zh) * | 2018-12-28 | 2021-03-16 | 北京像素软件科技股份有限公司 | 一种满n叉树构建方法及装置 |
CN110704214A (zh) * | 2019-10-14 | 2020-01-17 | 北京京东乾石科技有限公司 | 进程间通信方法和装置 |
CN110704214B (zh) * | 2019-10-14 | 2021-05-25 | 北京京东乾石科技有限公司 | 进程间通信方法和装置 |
EP4155946A4 (en) * | 2020-05-18 | 2024-01-10 | Cambricon (Xi'an) Semiconductor Co., Ltd. | METHOD AND DEVICE FOR ALLOCATING STORAGE ADDRESS FOR STORED DATA |
CN111857575A (zh) * | 2020-06-24 | 2020-10-30 | 国汽(北京)智能网联汽车研究院有限公司 | 计算平台内存空间确定方法、装置、设备及存储介质 |
CN113742058A (zh) * | 2021-02-10 | 2021-12-03 | 北京沃东天骏信息技术有限公司 | 管理堆外内存的方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN102012870B (zh) | 2012-05-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102012870B (zh) | 内存分配方法 | |
TWI709073B (zh) | 分佈式儲存系統、分佈式儲存方法及分佈式設施 | |
CN109154917A (zh) | 存储系统和固态硬盘 | |
EP2455865B1 (en) | Memory management device | |
CN101122883A (zh) | 一种避免内存碎片化的内存分配方法 | |
Agarwal et al. | Green computing-a new horizon of energy efficiency and electronic waste minimization: A global perspective | |
CN102779072B (zh) | 一种嵌入式系统及其应用进程的休眠与唤醒方法 | |
TWI748530B (zh) | 資源管理方法和裝置、電子設備及記錄媒體 | |
CN104521198A (zh) | 用于虚拟以太网接口绑定的系统和方法 | |
CN110058932A (zh) | 一种用于数据流驱动计算的存储方法和存储系统 | |
CN105938458B (zh) | 软件定义的异构混合内存管理方法 | |
CN103078965B (zh) | 虚拟机的ip地址管理方法 | |
CN102999369A (zh) | 虚拟机升级的方法及装置 | |
CN103503376A (zh) | 云计算系统和管理云计算系统中存储资源的方法 | |
CN101918913A (zh) | 自动精简配置存储设备上的存储收回 | |
CN101675479A (zh) | 损耗均衡 | |
Liang et al. | Memory-aware resource management algorithm for low-energy cloud data centers | |
CN104866428A (zh) | 数据存取方法和数据存取装置 | |
TW201805815A (zh) | 固態儲存器容量管理系統與方法 | |
CN110162396A (zh) | 内存回收方法、装置、系统和存储介质 | |
WO2023071576A1 (zh) | 容器集群构建方法及系统 | |
CN105469173A (zh) | 一种静态内存进行优化管理的方法 | |
CN102184145A (zh) | 重启数据不丢失方法及逻辑存储资源管理单元 | |
CN114138488A (zh) | 一种基于弹性高性能计算的云原生实现方法及系统 | |
CN104391736B (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 |