CN101122883A - 一种避免内存碎片化的内存分配方法 - Google Patents
一种避免内存碎片化的内存分配方法 Download PDFInfo
- Publication number
- CN101122883A CN101122883A CNA2006101042914A CN200610104291A CN101122883A CN 101122883 A CN101122883 A CN 101122883A CN A2006101042914 A CNA2006101042914 A CN A2006101042914A CN 200610104291 A CN200610104291 A CN 200610104291A CN 101122883 A CN101122883 A CN 101122883A
- Authority
- CN
- China
- Prior art keywords
- memory
- size
- application
- block
- pond
- 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
Images
Landscapes
- Memory System (AREA)
Abstract
本发明公开了一种避免内存碎片化的内存分配方法,使内存申请者随时都可以申请到合适大小的内存块;在某种大小的内存存储块消耗完后,可以到大内存池中去申请,解决了申请不到内存而产生系统异常的问题;当申请大块内存时,可以在大的内存池中直接的分配,解决了传统方法的内存资源的浪费以及内存碎片的问题。
Description
技术领域
本发明涉及一种软件开发中使用的避免内存碎片化的内存分配方法,属于内存管理技术领域。
背景技术
在一个电信通讯系统中,系统能否稳定可靠的运行直接影响到业务的准确性和实时性。
系统在运行中需要频繁的申请和释放内存,在长期的运行过程中系统会产生大量的内存碎片,这个问题严重的影响了系统的稳定运行。对于内存碎片化问题,现有的各种系统都有自己的内存管理机制。该内存管理机制一般的方法是根据操作系统所能提供内存的大小预先把系统的内存划分为大小不同的内存池,再将每一个内存池中的内存划分为固定大小一致的内存快。一般情况下,内存池的大小是2的幂字节数。并且一个内存池的大小是他左边邻居大小的2倍。由于内存池的个数,每个内存池中内存块的大小和个数等参数是在系统初始化时确定的,并且在系统运行过程中不再改变。为了高效的利用内存,必须事先统计各种不同内存的使用情况。
现有内存分配机制的缺陷在于:每种内存池的数目和每种内存块的数目是在系统刚开始运行时就已经确定下来的。如果在系统允许过程中某种大小的内存块使用申请完毕,这时或者是因为申请不到内存而形成系统异常,或者从较大的内存池中分配一块内存给申请者,这样造成了内存资源的浪费。如果需要申请的内存超过了所能提供的最大的内存块的大小,系统会因为申请不到内存而产生异常情况。
对于传统的内存分配方法,每种内存池中内存块的多少采用动态控制的方法。系统初始化时首先申请一定量的内存块,在系统运行过程中,当某种大小的内存块消耗完后,向操作系统动态的申请,并置上已经使用的标记。当申请的内存的大小超过了当前所分配的最大的内存块的大小时,直接向操作系统动态的申请,使用完后,把内存释放给操作系统。这种内存管理的方法虽然解决了内存资源的浪费的问题但是并不能解决内存碎片的问题,在一个需要频繁申请和释放内存的系统中,当频繁申请的内存块的大小超过了已经分配的内存池中最大内存块大小的时候,需要频繁的向操作系统申请内存。运行一段时间后系统中同样会出现大量的内存碎片。所以这种方法也不能很好的解决内存碎片和减少内存资源浪费之间的相互问题。
发明内容
本发明所要解决的技术问题在于提供一种避免内存碎片化的内存分配方法,以很好的解决内存碎片和减少内存资源的浪费之间的问题。
为了解决上述问题,本发明提供了一种避免内存碎片化的内存分配方法,其包括如下步骤:
(1)创建至少一个普通内存池,为每一个普通内存池向操作系统申请一定数量的内存块,所述每一个内存块由一个以上的大小相同的内存存储块组成;
(2)创建一个大内存池,由操作系统中可提供申请的剩余内存组成,并在其中创建两个队列,一个是已分配内存队列,记录大内存池中已经分配的内存块的情况,另一个是未分配内存队列,记录大内存池中未分配内存的信息;
(3)当应用申请内存时,判断当前申请的内存大小是否在普通内存池所能提供的内存块大小范围内,如果是,则在普通内存池中分配相应大小的空闲内存存储块给该应用,并将已经分配的内存存储块标记为已经占用;如果否,则查询所述未分配内存队列的记录,从大内存池中分配相应大小的内存块给该应用,并将该已分配信息记录入所述已分配内存队列;
(4)当应用释放内存时,判断当前欲释放的内存块是从普通内存池,还是从大内存池中申请得到的,如果是从普通内存池中申请得到的,则取消对应内存存储块的占用标记;如果是从大内存池中分配得到的,则在未分配内存队列中查询该当前欲释放的内存块的前后相邻内存是否是未分配状态,并将其中处于未分配状态的相邻内存块与该欲释放的内存块合并为一个空闲的内存块,同时修改所述已分配内存队列的信息。
进一步地,本发明所述的方法,其所述步骤(2)中,所述两个队列在初始创建时,所述已分配内存队列为空,所述未分配内存队列中只有一个节点,记录整个大内存池的内存情况。
进一步地,本发明所述的方法,其所述步骤(3)中,所述判断当前申请的内存大小是否在普通内存池所能提供的内存块大小范围内的步骤,是判断该内存存储块的大小与当前申请的内存大小相匹配的普通内存池中是否存在相应的空闲内存存储块;
当判断到当前申请的内存大小未在普通内存池所能提供的内存块大小范围内时,进一步包括:判断当前申请内存的大小是否大于所述大内存池所能提供内存的最大申请大小,如果是,则拒绝该申请;如果当前申请的内存大小不超过大内存池所能提供内存申请的最大申请大小,则从所述未分配内存的队列中查找一个适用的内存块,并判断该找到的内存块的大小是否不小于普通内存池中最大的内存存储块的大小和当前申请内存大小之和,如果是,则从该内存块中分割出一个与当前申请内存块大小匹配的内存块并分配给所述应用,并将分割后剩余的内存信息更新到未分配内存队列中;如果否,则将该找到的内存块完全分配给所述应用,并根据分配情况更新未分配内存队列与已分配内存队列中的信息。
本发明所述的方法,进一步包括:所述为普通内存池申请的内存块的大小不同。
应用本发明所述的方法,通过内存分配管理模块,使内存申请者随时都可以申请到合适大小的内存块;在某种大小的内存存储块消耗完后,可以到大内存池中去申请,解决了申请不到内存而产生系统异常的问题;当申请大块内存时,内存分配管理模块可以在大的内存池中直接的分配,解决了传统方法的内存浪费以及内存碎片的问题。
附图说明
图1是本发明所述的基本内存池示意图;
图2是本发明所述的大内存池示意图;
图3是本发明所述的大内存池中已分配内存队列和未分配内存队列示意图;
图4是本发明实施例所述的应用申请内存的流程图;
图5是本发明实施例所述的应用释放内存的流程图;
图6是本发明实施例所述的基本内存池示意图;
图7是本发明实施例所述的大内存池示意图;
图8是本发明实施例所述的大内存池管理队列变化示意图。
具体实施方式
为了使本发明所述的技术特点和方案的更加的清楚明白,通过下面具体的使用的实施例来进一步的说明。
如附图1所示,为本发明所述的内存管理示意图,内存分配管理模块设置一定数量的基本内存池(Base POOL)101,一般创建普通内存池101的数量与系统的CPU数量一致,每个基本内存池又划分成一定数量的内存存储块队列(chunk list)102,为每个内存存储块队列向操作系统申请一定数量的大小相同的内存存储块。在同一个基本内存池中,不同的内存存储块队列中的内存存储块的大小不同。
如附图2所示,当基本内存池需要的内存申请完成后,剩下的系统可提供申请的内存都申请为大内存池(Large pool Memory)103所使用,一般创建大内存池103的大小不超过系统可申请内存的50%,大内存池103的大小一般占系统可申请内存的10%至20%。首先从大内存池103中分配一定数量的内存,如附图3所示,创建已分配内存队列104和未分配内存队列105,并初始化这两个队列。初始时,已分配内存节点队列104为空,未分配内存节点队列105只有一个节点(NODE),在这个节点中存储当前大内存池中的未分配内存信息。
如附图4所示,步骤106在内存申请者申请内存时,内存分配管理模块按照下面的流程来执行:
步骤107、内存分配管理模块首先判断申请的内存大小是否超过了基本内存池所能提供的内存的内存存储块的大小,如果不是,执行步骤108;否则执行步骤109。
步骤108、找到一个合适的基本内存池,查找是否有合适的内存存储块可提供分配,如果有,执行步骤110取得一个大小相宜的内存存储块分配给内存申请者,并置这个内存存储块为已经占用,返回;如果基本内存池中没有合适的内存存储块可以提供分配,那么就执行步骤109,到大内存池中去申请。
步骤109、内存分配管理模块判断内存申请者申请的内存大小是否大于大内存池所能提供内存申请的的最大值,如果是,执行步骤111申请内存失败返回错误;否则执行步骤112大内存池内存申请分配流程,首先查找大内存池未分配内存队列,从中查找一个大小合适的内存块,判断这个内存块的大小是否大于等于普通内存池中最大的内存存储块的大小和申请内存大小之和,如果是,执行步骤113则分割这个内存块为两部分,一部分提供给内存申请者使用,剩余那部分内存块仍然为未使用状态,把当前分配给使用者的内存块信息加入到已分配内存信息队列中,并把分割后剩余的内存块信息更新到原来的节点信息中去;否则,执行步骤114不进行分割,把内存分配给内存申请者,把当前分配给使用者的内存块信息加入到已分配内存信息队列中。
步骤115,当内存申请者释放使用的内存时,内存分配管理模块按照下面的流程来处理:
步骤116、内存分配管理模块判断该内存块是从大内存池中申请得到的,还是从普通内存池中申请得到的,如果是从普通内存池中申请得到的,执行步骤117,否则执行步骤118。
步骤117、如果是从基本内存池101中申请得到的时,取消内存存储块的占用标记,返回。
步骤118、如果是从大内存池中分配得到的,那么从大内存池的已分配内存队列中删除该内存块的占用标记,执行步骤119查找未分配内存队列,察看该内存块的前后相邻内存块是否有未分配状态的空闲内存块,如果有未分配状态的内存块,执行步骤120那么将它们合并为一个空闲的大的内存块,相应未分配内存信息队列也要进行相应节点的合并处理;如果该内存块的前后相邻内存块都为占用状态,执行步骤121那么向未分配内存信息队列加入当前释放内存块的相应信息。
如图6和图7所示,为本发明的实施例的内存管理示意图。在这个例子中假设只有一个基本内存池(Base POOL)201和大内存池202。在基本内存池201中,内存存储块的大小字符上有方框的内存存储块表示已经被占用了。如果现在有一个内存申请者申请7K内存,则内存管理模块根据申请内存存储块的大小,定位到大小为8K的内存存储块队列,并判断是否有空闲的内存存储块,如果有空闲的内存块,那么就分配一个8K的内存存储块给调用者,并设置这个内存存储块为占用。如果8K的内存存储块队列中没有未使用的内存存储块,那么内存管理模块就到大内存池202中为调用者申请内存。当调用者释放从基本内存池中申请的内存存储块时,取消该内存存储块的占用标记。
如图8所示,为本发明实施例所述的大内存池管理队列变化示意图。描述了在大池中申请和释放内存块时,已分配内存信息队列和未分配内存信息队列的变化情况的一个例子。大池的大小为10000K,调用者先后申请内存的大小为20k,15K 300K,接着调用者顺序释放了内存大小为15K,300K的内存块。步骤A到步骤E描述了已分配内存信息队列和未分配内存信息队列的变化情况。
在图8中,步骤301中描述了调用者在大池中申请了20K内存后,已分配内存信息队列和未分配内存信息队列的变化情况。已分配内存信息队列中第一个节点中纪录了分配的20K的信息如该内存块的位置、大小等各种情况;未分配内存信息队列中记录了当前的未分配内存的相关信息。
步骤302中描述了内存管理模块从大池中又分配了15K内存后的情况,已分配内存信息队列包括2个有效的信息节点,记录了20K和15K两个已分配内存块的信息,未分配内存信息队列中包含一个大的未分配内存块信息。
步骤303中描述了内存管理模块从大池中分配了300K内存后的情况,已分配内存信息队列包括3个已经分配给调用者使用的内存块的信息,未分配内存信息队列中包含剩余的一个大的未分配内存块信息。
步骤304中描述了调用者释放了从大内存池中申请的大小为15K的内存块后已分配内存信息队列和未分配内存信息队列的变化情况。这时由于这个15K内存块的前后的内存块都为已使用状态,所以没有内存块合并的过程,从已分配内存信息队列中去除这个15K内存块的信息,并加入到未分配内存信息队列中去。
在步骤305中描述了调用者释放了从大内存池中申请的大小为300K的内存块后已分配内存信息队列和未分配内存信息队列的变化情况。这时由于这个300K内存块的前后的内存块都为未使用状态,所以这里需要进行内存块合并的过程,合并完成后大内存池中只有一个一个已经分配的内存块和一个未分配的内存块。
以上实施例中的描述仅为本发明的较佳的实施例而已,并不是用来限制本发明,凡是在本发明所述方法的思想和原则之内,所做的任何的修改,等同的替换以及改进等,都应包含在本发明的保护范围内。
Claims (9)
1.一种避免内存碎片化的内存分配方法,其特征在于,包括如下步骤:
(1)创建至少一个普通内存池,为每一个普通内存池向操作系统申请一定数量的内存块,所述每一个内存块由一个以上的大小相同的内存存储块组成;
(2)创建一个大内存池,由操作系统中可提供申请的剩余内存组成,并在其中创建两个队列,一个是已分配内存队列,记录大内存池中已经分配的内存块的情况,另一个是未分配内存队列,记录大内存池中未分配内存的信息;
(3)当应用申请内存时,判断当前申请的内存大小是否在普通内存池所能提供的内存块大小范围内,如果是,则在普通内存池中分配相应大小的空闲内存存储块给该应用,并将已经分配的内存存储块标记为已经占用;如果否,则查询所述未分配内存队列的记录,从大内存池中分配相应大小的内存块给该应用,并将该已分配信息记录入所述已分配内存队列;
(4)当应用释放内存时,判断当前欲释放的内存块是从普通内存池,还是从大内存池中申请得到的,如果是从普通内存池中申请得到的,则取消对应内存存储块的占用标记;如果是从大内存池中分配得到的,则在未分配内存队列中查询该当前欲释放的内存块的前后相邻内存是否是未分配状态,并将其中处于未分配状态的相邻内存块与该欲释放的内存块合并为一个空闲的内存块,同时修改所述已分配内存队列的信息。
2.如权利要求1所述的方法,其特征在于,所述步骤(2)中,所述两个队列在初始创建时,所述已分配内存队列为空,所述未分配内存队列中只有一个节点,记录整个大内存池的内存情况。
3.如权利要求1所述的方法,其特征在于,所述步骤(3)中,所述判断当前申请的内存大小是否在普通内存池所能提供的内存块大小范围内的步骤,是判断该内存存储块的大小与当前申请的内存大小相匹配的普通内存池中是否存在相应的空闲内存存储块。
4.如权利要求3所述的方法,其特征在于,所述步骤(3)中,当判断到当前申请的内存大小未在普通内存池所能提供的内存块大小范围内时,进一步包括:判断当前申请内存的大小是否大于所述大内存池所能提供内存的最大申请大小,如果是,则拒绝该申请。
5.如权利要求3所述的方法,其特征在于,所述步骤(3)中,当判断到当前申请的内存大小未在普通内存池所能提供的内存块大小范围内时,包括:如果当前申请的内存大小不超过大内存池所能提供内存申请的最大申请大小,则从所述未分配内存的队列中查找一个适用的内存块,并判断该找到的内存块的大小是否不小于普通内存池中最大的内存存储块的大小和当前申请内存大小之和,如果是,则从该内存块中分割出一个与当前申请内存块大小匹配的内存块并分配给所述应用,并将分割后剩余的内存信息更新到未分配内存队列中;如果否,则将该找到的内存块完全分配给所述应用,并根据分配情况更新未分配内存队列与已分配内存队列中的信息。
6.如权利要求1所述的方法,其特征在于,所述创建普通内存池的数量与系统的CPU数量一致。
7.如权利要求1所述的方法,其特征在于,所述创建大内存池的大小不超过系统可申请内存的50%。
8.如权利要求1所述的方法,其特征在于,所述创建大内存池的大小占系统可申请内存的10%至20%。
9.如权利要求1所述的方法,其特征在于,所述为普通内存池申请的内存块的大小不同。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2006101042914A CN101122883A (zh) | 2006-08-09 | 2006-08-09 | 一种避免内存碎片化的内存分配方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2006101042914A CN101122883A (zh) | 2006-08-09 | 2006-08-09 | 一种避免内存碎片化的内存分配方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101122883A true CN101122883A (zh) | 2008-02-13 |
Family
ID=39085223
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2006101042914A Pending CN101122883A (zh) | 2006-08-09 | 2006-08-09 | 一种避免内存碎片化的内存分配方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101122883A (zh) |
Cited By (37)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101281491B (zh) * | 2008-05-12 | 2010-04-14 | 北京邮电大学 | 基于VxWorks的空间机器人中央处理器的内存模块及其管理方法 |
CN102262597A (zh) * | 2011-08-05 | 2011-11-30 | 浪潮(北京)电子信息产业有限公司 | 内存池管理方法和系统 |
CN102279810A (zh) * | 2011-08-11 | 2011-12-14 | 浪潮(北京)电子信息产业有限公司 | 一种网络存储服务器及其缓存数据的方法 |
CN102331918A (zh) * | 2011-07-07 | 2012-01-25 | 曙光信息产业股份有限公司 | 一种龙芯刀片集成显卡 |
CN101751342B (zh) * | 2008-11-27 | 2012-06-13 | 深圳富泰宏精密工业有限公司 | 内存管理系统及方法 |
CN101739346B (zh) * | 2009-12-04 | 2012-09-05 | 北京工业大学 | 对安全控制模块内存进行集中控制的方法 |
CN102968378A (zh) * | 2012-10-23 | 2013-03-13 | 深圳市融创天下科技股份有限公司 | 一种内存分配和释放的方法、装置及系统 |
CN103186469A (zh) * | 2011-12-27 | 2013-07-03 | 上海博泰悦臻电子设备制造有限公司 | 内存分配方法及装置、内存的回收方法 |
WO2013102328A1 (zh) * | 2012-01-05 | 2013-07-11 | 中兴通讯股份有限公司 | 一种移动终端及其管理方法 |
CN103491096A (zh) * | 2013-09-29 | 2014-01-01 | 中国科学院信息工程研究所 | 一种IPv6分片报文抗攻击重组方法及装置 |
CN104063328A (zh) * | 2014-04-04 | 2014-09-24 | 浪潮电子信息产业股份有限公司 | 一种缓解碎片产生的内存管理方法 |
CN104182356A (zh) * | 2014-09-19 | 2014-12-03 | 深圳市茁壮网络股份有限公司 | 一种内存管理方法、装置及终端设备 |
CN104268096A (zh) * | 2014-09-26 | 2015-01-07 | 西南科技大学 | 基于内存预分配和多点并写技术的大规模点云数据快速读取方法 |
CN104731872A (zh) * | 2015-03-05 | 2015-06-24 | 长沙新弘软件有限公司 | 基于位图的存储空间管理系统及其方法 |
CN104778264A (zh) * | 2015-04-22 | 2015-07-15 | 北京科电高技术公司 | 一种键值数据库的内存分配方法 |
CN105138475A (zh) * | 2015-08-21 | 2015-12-09 | 东软集团股份有限公司 | 一种内存池及内存分配方法 |
CN105335394A (zh) * | 2014-07-14 | 2016-02-17 | 阿里巴巴集团控股有限公司 | 一种基于数据库的数据控制方法及系统 |
CN105677577A (zh) * | 2016-02-23 | 2016-06-15 | 中国农业银行股份有限公司 | 一种系统的内存管理方法及装置 |
CN105975398A (zh) * | 2015-12-07 | 2016-09-28 | 国家电网公司 | 一种内存碎片管理方法 |
WO2017070869A1 (zh) * | 2015-10-28 | 2017-05-04 | 华为技术有限公司 | 一种内存配置方法、装置及系统 |
CN106681829A (zh) * | 2016-12-09 | 2017-05-17 | 上海斐讯数据通信技术有限公司 | 一种内存管理方法及系统 |
CN106844046A (zh) * | 2016-12-31 | 2017-06-13 | 昊宏广泰(北京)科技有限公司 | 宽带载波内存管理算法 |
CN106991010A (zh) * | 2017-03-22 | 2017-07-28 | 武汉虹信通信技术有限责任公司 | 一种用于流媒体服务器的内存集中动态分配方法 |
CN107203477A (zh) * | 2017-06-16 | 2017-09-26 | 深圳市万普拉斯科技有限公司 | 内存分配方法、装置、电子设备及可读存储介质 |
WO2018018896A1 (zh) * | 2016-07-29 | 2018-02-01 | 华为技术有限公司 | 内存管理装置和方法 |
CN108197038A (zh) * | 2018-02-01 | 2018-06-22 | 深圳市风云实业有限公司 | 一种Linux数据传输方法、装置和用户终端 |
CN108920276A (zh) * | 2018-06-27 | 2018-11-30 | 郑州云海信息技术有限公司 | Linux系统内存分配方法、系统及设备和存储介质 |
CN109710408A (zh) * | 2018-12-24 | 2019-05-03 | 杭州迪普科技股份有限公司 | 内存管理方法和装置 |
CN110245091A (zh) * | 2018-10-29 | 2019-09-17 | 浙江大华技术股份有限公司 | 一种内存管理的方法、装置及计算机存储介质 |
CN110730364A (zh) * | 2019-10-14 | 2020-01-24 | 广州微算互联信息技术有限公司 | 一种云手机数据传输方法、装置及存储介质 |
CN110780823A (zh) * | 2019-11-06 | 2020-02-11 | 广东三维家信息科技有限公司 | 小对象内存管理方法、装置、电子设备和计算机可读介质 |
CN111078408A (zh) * | 2019-12-10 | 2020-04-28 | Oppo(重庆)智能科技有限公司 | 内存分配方法、装置、存储介质及电子设备 |
CN111444016A (zh) * | 2020-03-25 | 2020-07-24 | 福州瑞芯微电子股份有限公司 | 一种内存分配方法和装置 |
CN108829610B (zh) * | 2018-04-02 | 2020-08-04 | 浙江大华技术股份有限公司 | 一种神经网络前向计算过程中的内存管理方法及设备 |
CN111782362A (zh) * | 2020-06-29 | 2020-10-16 | 珠海豹趣科技有限公司 | 一种消息任务调度方法、装置及电子设备 |
CN112162938A (zh) * | 2015-08-10 | 2021-01-01 | 北京忆恒创源科技有限公司 | 大页内存分配方法及其计算机 |
CN114296946A (zh) * | 2022-03-08 | 2022-04-08 | 北京蚂蚁云金融信息服务有限公司 | 数据处理方法、装置和服务器 |
-
2006
- 2006-08-09 CN CNA2006101042914A patent/CN101122883A/zh active Pending
Cited By (54)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101281491B (zh) * | 2008-05-12 | 2010-04-14 | 北京邮电大学 | 基于VxWorks的空间机器人中央处理器的内存模块及其管理方法 |
CN101751342B (zh) * | 2008-11-27 | 2012-06-13 | 深圳富泰宏精密工业有限公司 | 内存管理系统及方法 |
CN101739346B (zh) * | 2009-12-04 | 2012-09-05 | 北京工业大学 | 对安全控制模块内存进行集中控制的方法 |
CN102331918A (zh) * | 2011-07-07 | 2012-01-25 | 曙光信息产业股份有限公司 | 一种龙芯刀片集成显卡 |
CN102262597A (zh) * | 2011-08-05 | 2011-11-30 | 浪潮(北京)电子信息产业有限公司 | 内存池管理方法和系统 |
CN102279810A (zh) * | 2011-08-11 | 2011-12-14 | 浪潮(北京)电子信息产业有限公司 | 一种网络存储服务器及其缓存数据的方法 |
CN103186469A (zh) * | 2011-12-27 | 2013-07-03 | 上海博泰悦臻电子设备制造有限公司 | 内存分配方法及装置、内存的回收方法 |
WO2013102328A1 (zh) * | 2012-01-05 | 2013-07-11 | 中兴通讯股份有限公司 | 一种移动终端及其管理方法 |
CN102968378B (zh) * | 2012-10-23 | 2016-06-15 | 融创天下(上海)科技发展有限公司 | 一种内存分配和释放的方法、装置及系统 |
CN102968378A (zh) * | 2012-10-23 | 2013-03-13 | 深圳市融创天下科技股份有限公司 | 一种内存分配和释放的方法、装置及系统 |
CN103491096A (zh) * | 2013-09-29 | 2014-01-01 | 中国科学院信息工程研究所 | 一种IPv6分片报文抗攻击重组方法及装置 |
CN104063328A (zh) * | 2014-04-04 | 2014-09-24 | 浪潮电子信息产业股份有限公司 | 一种缓解碎片产生的内存管理方法 |
CN105335394B (zh) * | 2014-07-14 | 2019-08-13 | 阿里巴巴集团控股有限公司 | 一种基于数据库的数据控制方法及系统 |
CN105335394A (zh) * | 2014-07-14 | 2016-02-17 | 阿里巴巴集团控股有限公司 | 一种基于数据库的数据控制方法及系统 |
CN104182356A (zh) * | 2014-09-19 | 2014-12-03 | 深圳市茁壮网络股份有限公司 | 一种内存管理方法、装置及终端设备 |
CN104182356B (zh) * | 2014-09-19 | 2017-06-27 | 深圳市茁壮网络股份有限公司 | 一种内存管理方法、装置及终端设备 |
CN104268096A (zh) * | 2014-09-26 | 2015-01-07 | 西南科技大学 | 基于内存预分配和多点并写技术的大规模点云数据快速读取方法 |
CN104731872A (zh) * | 2015-03-05 | 2015-06-24 | 长沙新弘软件有限公司 | 基于位图的存储空间管理系统及其方法 |
CN104731872B (zh) * | 2015-03-05 | 2018-04-03 | 长沙新弘软件有限公司 | 基于位图的存储空间管理系统及其方法 |
CN104778264A (zh) * | 2015-04-22 | 2015-07-15 | 北京科电高技术公司 | 一种键值数据库的内存分配方法 |
CN112162938A (zh) * | 2015-08-10 | 2021-01-01 | 北京忆恒创源科技有限公司 | 大页内存分配方法及其计算机 |
CN105138475A (zh) * | 2015-08-21 | 2015-12-09 | 东软集团股份有限公司 | 一种内存池及内存分配方法 |
CN105138475B (zh) * | 2015-08-21 | 2018-08-03 | 东软集团股份有限公司 | 一种内存池及内存分配方法 |
WO2017070869A1 (zh) * | 2015-10-28 | 2017-05-04 | 华为技术有限公司 | 一种内存配置方法、装置及系统 |
CN105975398A (zh) * | 2015-12-07 | 2016-09-28 | 国家电网公司 | 一种内存碎片管理方法 |
CN105677577A (zh) * | 2016-02-23 | 2016-06-15 | 中国农业银行股份有限公司 | 一种系统的内存管理方法及装置 |
CN107665146A (zh) * | 2016-07-29 | 2018-02-06 | 华为技术有限公司 | 内存管理装置和方法 |
WO2018018896A1 (zh) * | 2016-07-29 | 2018-02-01 | 华为技术有限公司 | 内存管理装置和方法 |
CN107665146B (zh) * | 2016-07-29 | 2020-07-07 | 华为技术有限公司 | 内存管理装置和方法 |
CN106681829B (zh) * | 2016-12-09 | 2020-07-24 | 北京康吉森技术有限公司 | 一种内存管理方法及系统 |
CN106681829A (zh) * | 2016-12-09 | 2017-05-17 | 上海斐讯数据通信技术有限公司 | 一种内存管理方法及系统 |
CN106844046B (zh) * | 2016-12-31 | 2021-06-11 | 北京市腾河智慧能源科技有限公司 | 宽带载波内存管理方法 |
CN106844046A (zh) * | 2016-12-31 | 2017-06-13 | 昊宏广泰(北京)科技有限公司 | 宽带载波内存管理算法 |
CN106991010A (zh) * | 2017-03-22 | 2017-07-28 | 武汉虹信通信技术有限责任公司 | 一种用于流媒体服务器的内存集中动态分配方法 |
CN106991010B (zh) * | 2017-03-22 | 2019-11-08 | 武汉虹信通信技术有限责任公司 | 一种用于流媒体服务器的内存集中动态分配方法 |
WO2018228327A1 (zh) * | 2017-06-16 | 2018-12-20 | 深圳市万普拉斯科技有限公司 | 内存分配方法、装置、电子设备及可读存储介质 |
US11106574B2 (en) | 2017-06-16 | 2021-08-31 | Oneplus Technology (Shenzhen) Co., Ltd. | Memory allocation method, apparatus, electronic device, and computer storage medium |
CN107203477A (zh) * | 2017-06-16 | 2017-09-26 | 深圳市万普拉斯科技有限公司 | 内存分配方法、装置、电子设备及可读存储介质 |
CN108197038A (zh) * | 2018-02-01 | 2018-06-22 | 深圳市风云实业有限公司 | 一种Linux数据传输方法、装置和用户终端 |
CN108829610B (zh) * | 2018-04-02 | 2020-08-04 | 浙江大华技术股份有限公司 | 一种神经网络前向计算过程中的内存管理方法及设备 |
CN108920276A (zh) * | 2018-06-27 | 2018-11-30 | 郑州云海信息技术有限公司 | Linux系统内存分配方法、系统及设备和存储介质 |
CN110245091B (zh) * | 2018-10-29 | 2022-08-26 | 浙江大华技术股份有限公司 | 一种内存管理的方法、装置及计算机存储介质 |
CN110245091A (zh) * | 2018-10-29 | 2019-09-17 | 浙江大华技术股份有限公司 | 一种内存管理的方法、装置及计算机存储介质 |
CN109710408A (zh) * | 2018-12-24 | 2019-05-03 | 杭州迪普科技股份有限公司 | 内存管理方法和装置 |
CN110730364B (zh) * | 2019-10-14 | 2021-08-31 | 广州微算互联信息技术有限公司 | 一种云手机数据传输方法、装置及存储介质 |
CN110730364A (zh) * | 2019-10-14 | 2020-01-24 | 广州微算互联信息技术有限公司 | 一种云手机数据传输方法、装置及存储介质 |
CN110780823A (zh) * | 2019-11-06 | 2020-02-11 | 广东三维家信息科技有限公司 | 小对象内存管理方法、装置、电子设备和计算机可读介质 |
CN110780823B (zh) * | 2019-11-06 | 2023-09-12 | 广东三维家信息科技有限公司 | 小对象内存管理方法、装置、电子设备和计算机可读介质 |
CN111078408A (zh) * | 2019-12-10 | 2020-04-28 | Oppo(重庆)智能科技有限公司 | 内存分配方法、装置、存储介质及电子设备 |
CN111444016A (zh) * | 2020-03-25 | 2020-07-24 | 福州瑞芯微电子股份有限公司 | 一种内存分配方法和装置 |
CN111444016B (zh) * | 2020-03-25 | 2023-10-13 | 瑞芯微电子股份有限公司 | 一种内存分配方法和装置 |
CN111782362A (zh) * | 2020-06-29 | 2020-10-16 | 珠海豹趣科技有限公司 | 一种消息任务调度方法、装置及电子设备 |
CN114296946A (zh) * | 2022-03-08 | 2022-04-08 | 北京蚂蚁云金融信息服务有限公司 | 数据处理方法、装置和服务器 |
CN114296946B (zh) * | 2022-03-08 | 2022-07-05 | 北京蚂蚁云金融信息服务有限公司 | 数据处理方法、装置和服务器 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101122883A (zh) | 一种避免内存碎片化的内存分配方法 | |
CN105095094B (zh) | 内存管理方法和设备 | |
CN100382048C (zh) | 一种内存管理方法 | |
CN101241476B (zh) | 一种虚拟存储系统和方法 | |
CN102156675B (zh) | 一种内存分配方法及装置 | |
CN109885377A (zh) | 统一资源调度协调器及其创建虚拟机和/或容器的方法、统一资源调度系统 | |
US20140297733A1 (en) | Cloud Computing System and Method for Managing Storage Resources Therein | |
CN101997918A (zh) | 异构san环境中的海量存储资源按需分配的实现方法 | |
CN101221536A (zh) | 嵌入式系统的内存管理方法及装置 | |
CN103384877A (zh) | 包括闪存的存储系统和存储控制方法 | |
CN102968378B (zh) | 一种内存分配和释放的方法、装置及系统 | |
CN101918913A (zh) | 自动精简配置存储设备上的存储收回 | |
CN103455433B (zh) | 内存管理方法及系统 | |
CN102474531A (zh) | 地址服务器 | |
CN108881512A (zh) | Ctdb的虚拟ip均衡分配方法、装置、设备及介质 | |
CN105740248B (zh) | 一种数据同步方法、装置及系统 | |
CN105162869B (zh) | 一种用于数据备份管理的方法与设备 | |
CN105357042A (zh) | 一种高可用集群系统及其主节点和从节点 | |
CN104572242A (zh) | 一种扩展虚拟机磁盘空间的方法、装置及虚拟机系统 | |
CN106325758A (zh) | 一种队列存储空间管理方法及装置 | |
CN101226553A (zh) | 一种嵌入式数据库变长字段存储的实现方法及装置 | |
CN101344861A (zh) | 一种智能卡内存管理方法 | |
CN103336782A (zh) | 一种关系型分布式数据库系统 | |
CN100518132C (zh) | 分布式交通信息存储文件系统 | |
CN108845958A (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 | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |