CN101702138A - 一种内存管理方法、系统及服务器 - Google Patents

一种内存管理方法、系统及服务器 Download PDF

Info

Publication number
CN101702138A
CN101702138A CN200910110423A CN200910110423A CN101702138A CN 101702138 A CN101702138 A CN 101702138A CN 200910110423 A CN200910110423 A CN 200910110423A CN 200910110423 A CN200910110423 A CN 200910110423A CN 101702138 A CN101702138 A CN 101702138A
Authority
CN
China
Prior art keywords
memory
internal memory
chained list
pool
commonly used
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
Application number
CN200910110423A
Other languages
English (en)
Other versions
CN101702138B (zh
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.)
Guan Zhihang
Original Assignee
SHENZHEN SUNFAIRS DIGITAL TECHNOLOGY 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 SHENZHEN SUNFAIRS DIGITAL TECHNOLOGY Co Ltd filed Critical SHENZHEN SUNFAIRS DIGITAL TECHNOLOGY Co Ltd
Priority to CN2009101104238A priority Critical patent/CN101702138B/zh
Publication of CN101702138A publication Critical patent/CN101702138A/zh
Application granted granted Critical
Publication of CN101702138B publication Critical patent/CN101702138B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Memory System (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明适用于服务器技术领域,提供了一种内存管理方法、系统及服务器,所述方法包括下述步骤:根据内存的大小,预先配置至少两个内存池,所述内存池包括常用内存链表和大内存链表;接收用户的内存申请请求,根据所述申请的内存大小,定位内存池;当定位到的内存池的常用内存链表存在可用内存时,控制读取所述内存池的常用内存链表的内存分配给申请用户;当定位到的内存池的常用内存链表不存在可用内存时,控制读取所述内存池的大内存链表的内存分配给申请用户,分配效率高,实现多个内存池对应多个并行的线程,内存分配并发性高。

Description

一种内存管理方法、系统及服务器
技术领域
本发明属于服务器技术领域,尤其涉及一种内存管理方法、系统及服务器。
背景技术
传统的内存分配是直接通过操作系统提供的函数来分配,其函数内部具体的执行过程如下所述:
1.锁上线程锁,防止其它线程进入。
2.以4096字节的倍数取出内存块(无论用户需要多大的内存,都以4096为一页来分配)。
3.解除线程锁,允许其它线程进入。
4.把成功分配的内存返回给用户层。
上述过程在普通的程序中足以满足需求,但对于服务器程序会大大降低程序性能,其具体为:
服务器对内存的分配和释放频率非常高,以游戏服务器为例,通常需要每秒100万次;服务器的内存分配者是由上百个线程来完成;由于传统的函数里只有一个线程锁,这样会降低程序的并发能力;而且,传统的线程锁是采用内核对象方式来处理,在内存分配时需要用到复杂的算法,这将消耗大量的CPU资源,降低了程序的性能。
发明内容
本发明实施例的目的在于提供一种内存管理方法,旨在解决现有传统的内存分配机制难以满足服务器对内存分配的要求的问题。
本发明实施例是这样实现的,一种内存管理方法,所述方法包括下述步骤:
根据内存的大小,预先配置至少两个内存池,所述内存池包括常用内存链表和大内存链表;
接收用户的内存申请请求,根据所述申请的内存大小,定位内存池;
当定位到的内存池的常用内存链表存在可用内存时,控制读取所述内存池的常用内存链表的内存分配给申请用户;
当定位到的内存池的常用内存链表不存在可用内存时,控制读取所述内存池的大内存链表的内存分配给申请用户。
本发明实施例的另一目的在于提供一种内存管理系统,所述系统包括:
预先配置模块,用于根据内存的大小,预先配置至少两个内存池,所述内存池包括常用内存链表和大内存链表;
定位模块,用于接收用户的内存申请请求,根据所述申请的内存大小,定位内存池;
第一内存读取模块,用于当定位到的内存池的常用内存链表存在可用内存时,控制读取所述内存池的常用内存链表的内存分配给申请用户;以及
第二内存读取模块,用于当定位到的内存池的常用内存链表不存在可用内存时,控制读取所述内存池的大内存链表的内存分配给申请用户。
本发明实施例的另一目的在于提供一种包括内存管理系统的服务器。
在本发明实施例中,根据内存的大小,预先配置至少两个内存池,所述内存池包括常用内存链表和大内存链表,接收用户的内存申请请求,根据申请的内存大小,定位内存池;当定位到的内存池的常用内存链表存在可用内存时,控制读取内存池的常用内存链表的内存分配给申请用户;当定位到的内存池的常用内存链表不存在可用内存时,控制读取内存池的大内存链表的内存分配给申请用户,分配效率高,实现多个内存池对应多个并行的线程,内存分配并发性高。
附图说明
图1是本发明第一实施例提供的内存管理方法的实现流程图;
图2是本发明第二实施例提供的内存管理方法的实现流程图;
图3是本发明实施例提供的控制读取内存池的常用内存链表的内存分配给申请用户的实现流程图;
图4是本发明实施例提供的内存池的常用内存链表的结构示意图;
图5是本发明实施例提供的控制读取内存池的大内存链表的内存分配给申请用户的步骤的具体实现流程图;
图6是本发明实施例提供的内存池的大内存链表的结构示意图;
图7是本发明实施例提供的内存管理系统的结构框图;
图8是本发明实施例提供的第一内存读取模块的结构框图;
图9是本发明实施例提供的第二内存读取模块的结构框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
在本发明实施例中,根据内存的大小,预先配置至少两个内存池,所述内存池包括常用内存链表和大内存链表,接收用户的内存申请请求,根据申请的内存大小,定位内存池;当定位到的内存池的常用内存链表存在可用内存时,控制读取内存池的常用内存链表的内存分配给申请用户;当定位到的内存池的常用内存链表不存在可用内存时,控制读取内存池的大内存链表的内存分配给申请用户。
图1示出了本发明第一实施例提供的内存管理方法的实现流程,其详细步骤如下所述:
在步骤S101中,根据内存的大小,预先配置至少两个内存池,所述内存池包括常用内存链表和大内存链表。
在本发明实施例中,为了满足多线程并发分配内存,该实施例将预先配置至少两个内存池,其中,该内存池刚配置时是空的,并没有实际的内存,在用户使用时才分配实际的内存,预先配置的内存池是虚拟的,不是实际将内存分配为两个内存池,是预先建立生成一索引数组,该索引数组至少包括2个数据元素,在内存使用过程中才根据该索引实际分配内存。
例如,以8的倍数为大小生成总共8192个内存池,每个子内存池相互独立,子内存池只处理8个区域的内存分配,即:1~8、9~16、17~24、...、65529~65536,在此每一段数据都对应到一个内存池,上述8192个子内存池实际上是一个数组,该数组包括8192个元素,此处仅为本发明的一个具体实施例,在此不用以限制本发明。
在步骤S102中,接收用户的内存申请请求,根据申请的内存大小,定位内存池。
在本发明实施例中,当有内存申请请求时,根据该申请内存的大小,确定其对应的内存池,例如,申请内存的大小为3458,则根据倍数的大小8进行计算,3458/8=432还余2,则该申请内存对应的内存池为第433个内存池,在此仅为本发明的一个实施例,不用以限制本发明。
在步骤S103中,当定位到的内存池的常用内存链表存在可用内存时,控制读取所述内存池的常用内存链表的内存分配给申请用户。
在本发明实施例中,当与用户申请的内存大小相对应的的内存池的常用内存链表的第一链表头为空,若不为空则控制读取所述内存池的常用内存链表的内存分配给申请用户,同时,修改所述常用内存链表的从第二链表头开始的链表头的序号。
在本发明实施例中,当分配内存时,还需要控制锁住和解开自旋锁的操作,在此不再赘述,下有详细描述,在此不用以限制本发明。
在步骤S104中,当定位到的内存池的常用内存链表存在可用内存时,控制读取内存池的大内存链表的内存分配给申请用户。
在本发明实施例中,若大内存链表的正使用大内存中有剩余的内存块,则更改所述大内存链表的正使用大内存的偏移量,同时,控制读取所述内存池的大内存链表的剩余的内存块分配给申请用户,否则向操作系统申请一内存块,然后执行更改偏移量和控制读取内存的步骤,在该实施例中,当分配内存时,还需要控制锁住和解开自旋锁的操作,在此不再赘述,下有详细描述,在此不用以限制本发明。
图2示出了本发明第二实施例提供的内存管理方法的实现流程,其详细步骤如下所述:
在步骤S201中,根据内存的大小,预先配置至少两个内存池,所述内存池包括常用内存链表和大内存链表。
在步骤S202中,接收用户的内存申请请求,判断该申请的内存大小是否合法,是则执行步骤S203,否则返回错误。
在本发明实施例中,当该内存大小超过预设的大小时,该内存申请不合法,则直接向操作系统申请内存,其中,该内存合法的判断依据是该申请内存是否大于0。
在步骤S203中,判断申请的内存大小是否超过预先设置的内存管理大小阈值,是则执行步骤S204,否则执行步骤S209。
在本发明实施例中,当内存大小合法后,对内存大小进行检测,即判断内存大小是否超过预先设置的内存管理内大小阈值,即判断申请的内存大小是否大于上述65536,是则需要向操作系统申请内存,在此仅为本发明的一个具体实施例,不用以限制本发明。
在步骤S204中,根据申请的内存大小,定位内存池。
在步骤S205中,判断定位到的内存池的常用内存链表是否存在可用内存,是则执行步骤步骤S206,否则执行步骤S207。
在步骤S206中,当定位到的内存池的常用内存链表存在可用内存时,控制读取所述内存池的常用内存链表的内存分配给申请用户。
在本发明实施例中,当分配内存时,还需要控制锁住和解开自旋锁的操作,在此不再赘述,下有详细描述,在此不用以限制本发明。
在步骤S207中,判断定位到的内存池的大内存链表是否存在可用内存,是则执行步骤S208;否则执行步骤S209。
在步骤S208中,当定位到的内存池的大内存链表存在可用内存时,控制读取所述内存池的大内存链表的内存分配给申请用户。
在本发明实施例中,当分配内存时,还需要控制锁住和解开自旋锁的操作,在此不再赘述,下有详细描述,在此不用以限制本发明。
在步骤S209中,向操作系统申请一内存块。
在本发明实施例中,当用户申请的内存超过预先设置的内存管理阈值时,则操作系统单独分配内存给该申请用户。
在本发明实施例中,当定位到的内存池的常用内存链表不存在可用内存时,向操作系统申请一内存块,存放到内存池常用内存链表的正在使用内存的表头上,改变偏移量,读取该内存块,同时解开自旋锁。
图3示出了本发明实施例提供的控制读取所述内存池的常用内存链表的内存分配给申请用户的实现流程,其详细步骤如下所述:
在步骤S301中,控制进入内存池的常用内存链表,锁住常用内存链表的自旋锁。
在本发明实施例中,该常用内存链表的自旋锁主要用于保护该常用内存链表的数据同步。
在步骤S302中,判断所述常用内存链表的第一链表头是否存在可用内存,是则执行步骤S303,否则执行步骤S306。
在本发明实施例中,判断常用内存链表的第一链表头是否存在可用内存的依据是判断该常用内存链表的链表头是否为空,为空则表示该常用内存池已经无内存可用,不为空则表示该常用内存池有可用内存,其中,内存池的常用内存链表的结构示意图,如图4所示,在此仅为本发明的一个实施例,不用以限制本发明。
在步骤S303中,控制读取所述内存池的常用内存链表的内存分配给申请用户。
在本发明实施例中,该操作是将常用内存链表第一链表头的内存分配给申请用户使用。
在步骤S304中,修改常用内存链表的从第二链表头开始的链表头的序号。
在本发明实施例中,当将常用内存链表的第一链表头对应的内存分配给用户后,该常用内存链表的从第二链表头开始的链表头序号自动修改,依次为第一链表头,第二链表头,....,如果在该常用内存链表中,就剩余第一链表头的内存可以使用,则可以不用执行该操作,在此仅为本发明的一个实施例,不用以限制本发明。
在步骤S305中,控制解开自旋锁。
在本发明实施例中,在常用内存链表中,内存分配完毕之后,将锁住的自旋锁解锁,以便其他用户继续使用该常用内存链表的内存。
在步骤S306中,解开常用内存链表的自旋锁,控制进入大内存链表,进行内存的分配。
在本发明实施例中,对于大内存链表的内存分配机制如下实施例所述。
图5示出了本发明实施例提供的控制读取内存池的大内存链表的内存分配给申请用户的步骤的具体实现流程,其具体为:
在步骤S501中,控制进入内存池的大内存链表,锁住大内存链表的自旋锁。
在本发明实施例中,大内存链表的自旋锁主要用于保护数据同步以及内存偏移量值的改变,如图6所示,大内存链表包括自旋锁、正使用大内存的偏移量和正是用大内存。
在步骤S502中,判断大内存链表的正使用大内存中是否有剩余的内存块,是则执行步骤S503,否则执行步骤S504。
在本发明实施例中,判断大内存链表的正使用大内存中是否有剩余的内存块的依据是检测大内存链表的正在使用大内存的偏移量,当正使用大内存的偏移量大于等于内存的大小时,表示正使用大内存中没有内存块可用。
假设该大内存链表的大小为4096,则当正在使用大内存的偏移量为0时,表示该大内存链表没用使用过;当正在使用大内存的偏移量为4096时,表示该大内存链表已经没用内存可使用。
在步骤S503中,更改大内存链表的正使用大内存的偏移量,同时,控制读取内存池的大内存链表的剩余的内存块分配给申请用户。
在本发明实施例,当大内存链表中存在可用的内存块时,在分配给用户内存块时,需要更改该大内存链表的正使用大内存的偏移量值,以便后来用户申请内存时,查看是否有可用内存,在此不用以限制本发明。
在步骤S504中,向操作系统申请一内存块,然后执行步骤S503。
在本发明实施例中,当大内存链表中,没用可用内存块时,向操作系统申请一块内存块,将该申请的内存块放在该大内存链表的表头,供分配给用户使用,其中,该申请的内存块的大小大于用户申请的内存大小即可,在此不用以限制本发明。
在步骤S505中,控制解开自旋锁。
在本发明实施例中,在大内存链表中,当内存分配完毕之后,将锁住的自旋锁解锁,以便其他用户继续使用该大内存链表的内存。
上述流程为本发明实施例提供的内存分配机制,当内存分配使用完毕之后,需要释放内存,图6示出了本发明实施例提供的内存释放方法的实现流程,其具体步骤如下所述:
在步骤S601中,根据所述申请的内存大小,定位内存池。
在本发明实施例中,当内存大小不合法时,直接将该内存释放给操作系统,在此不再赘述,但不用以限制本发明。
在步骤S602中,进入定位到的内存池的链表,锁住该链表的自旋锁。
在步骤S603中,将需要释放的内存放到该链表的头部。
在步骤S604中,解开自旋锁。
在该实施例中,上述链表可以是常用内存链表,也可以是大内存链表,在此不用以限制本发明。
图7示出了本发明实施例提供的内存管理系统的结构框图,为了便于说明,图中仅给出了与本发明实施例相关的部分,其中,内存管理系统可以内置于服务器的软件单元、硬件单元或软硬件结合单元。
预先配置模块11根据内存的大小,预先配置至少两个内存池,所述内存池包括常用内存链表和大内存链表;定位模块12接收用户的内存申请请求,根据所述申请的内存大小,定位内存池;当定位到的内存池的常用内存链表存在可用内存时,第一内存读取模块13控制读取所述内存池的常用内存链表的内存分配给申请用户;当定位到的内存池的常用内存链表不存在可用内存时,第二内存读取模块14控制读取所述内存池的大内存链表的内存分配给申请用户。
在本发明实施例中,内存释放控制模块15将内存释放在所述内存池的链表的头部,其中,其具体的实现过程为:计算定位需要释放的内存所在的内存池;锁住内存池的自旋锁,将内存释放在所述内存池的链表的头部;控制解开所述自旋锁,在此不用以限制本发明。
作为本发明的一个实施例,如图8所示,第一自旋锁锁住模块131控制进入所述内存池的常用内存链表,锁住所述常用内存链表的自旋锁;第一判断模块132判断所述常用内存链表的第一链表头是否存在可用内存;当所述第一判断模块132判断所述常用内存链表的第一链表头存在可用内存,第一读取控制操作模块133控制读取所述内存池的常用内存链表的内存分配给申请用户,同时,修改所述常用内存链表的从第二链表头开始的链表头的序号;第一解锁控制模块134控制解开所述自旋锁。
作为本发明的另一个实施例,如图9所示,第二自旋锁锁住模块141控制进入所述内存池的大内存链表,锁住所述大内存链表的自旋锁;第二判断模块142判断所述大内存链表的正使用大内存中是否有剩余的内存块;当所述第二判断模块142判断所述大内存链表的正使用大内存中有剩余的内存块,第二读取控制操作模块143更改所述大内存链表的正使用大内存的偏移量,同时,控制读取所述内存池的大内存链表的剩余的内存块分配给申请用户;当所述第二判断模块142判断所述大内存链表的正使用大内存中没有剩余的内存块,内存块申请模块144向操作系统申请一内存块;第二解锁控制模块145控制解开所述自旋锁。
在本发明实施例中,根据内存的大小,预先配置至少两个内存池,所述内存池包括常用内存链表和大内存链表,接收用户的内存申请请求,根据申请的内存大小,定位内存池;当定位到的内存池的常用内存链表存在可用内存时,控制读取内存池的常用内存链表的内存分配给申请用户;当定位到的内存池的常用内存链表不存在可用内存时,控制读取内存池的大内存链表的内存分配给申请用户,分配效率高,实现多个内存池对应多个并行的线程,内存分配并发性高,而且减少了线程切换所耗费的资源。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (9)

1.一种内存管理方法,其特征在于,所述方法包括下述步骤:
根据内存的大小,预先配置至少两个内存池,所述内存池包括常用内存链表和大内存链表;
接收用户的内存申请请求,根据所述申请的内存大小,定位内存池;
当定位到的内存池的常用内存链表存在可用内存时,控制读取所述内存池的常用内存链表的内存分配给申请用户;
当定位到的内存池的常用内存链表不存在可用内存时,控制读取所述内存池的大内存链表的内存分配给申请用户。
2.如权利要求1所述的方法,其特征在于,所述当定位到的内存池的常用内存链表存在可用内存时,控制读取所述内存池的常用内存链表的内存分配给申请用户的步骤具体包括下述步骤:
控制进入所述内存池的常用内存链表,锁住所述常用内存链表的自旋锁;
判断所述常用内存链表的第一链表头是否存在可用内存;
若是,则控制读取所述内存池的常用内存链表的内存分配给申请用户,同时,修改所述常用内存链表的从第二链表头开始的链表头的序号;
控制解开所述自旋锁。
3.如权利要求1所述的方法,其特征在于,所述当定位到的内存池的常用内存链表不存在可用内存时,控制读取所述内存池的大内存链表的内存分配给申请用户的步骤具体包括下述步骤:
控制进入所述内存池的大内存链表,锁住所述大内存链表的自旋锁;
判断所述大内存链表的正使用大内存中是否有剩余的内存块;
若是,则更改所述大内存链表的正使用大内存的偏移量,同时,控制读取所述内存池的大内存链表的剩余的内存块分配给申请用户;
若否,则向操作系统申请一内存块,并执行更改偏移量和控制读取内存的步骤;
控制解开所述自旋锁。
4.如权利要求1所述的方法,其特征在于,所述当定位到的内存池的常用内存链表不存在可用内存时,控制读取所述内存池的大内存链表的内存分配给申请用户的步骤之后还包括下述步骤:
计算定位需要释放的内存所在的内存池;
锁住内存池的自旋锁,将内存释放在所述内存池的链表的头部;
控制解开所述自旋锁。
5.一种内存管理系统,其特征在于,所述系统包括:
预先配置模块,用于根据内存的大小,预先配置至少两个内存池,所述内存池包括常用内存链表和大内存链表;
定位模块,用于接收用户的内存申请请求,根据所述申请的内存大小,定位内存池;
第一内存读取模块,用于当定位到的内存池的常用内存链表存在可用内存时,控制读取所述内存池的常用内存链表的内存分配给申请用户;以及
第二内存读取模块,用于当定位到的内存池的常用内存链表不存在可用内存时,控制读取所述内存池的大内存链表的内存分配给申请用户。
6.如权利要求5所述的系统,其特征在于,所述第一内存读取模块具体包括:
第一自旋锁锁住模块,用于控制进入所述内存池的常用内存链表,锁住所述常用内存链表的自旋锁;
第一判断模块,用于判断所述常用内存链表的第一链表头是否存在可用内存;
第一读取控制操作模块,用于当所述第一判断模块判断所述常用内存链表的第一链表头存在可用内存,则控制读取所述内存池的常用内存链表的内存分配给申请用户,同时,修改所述常用内存链表的从第二链表头开始的链表头的序号;以及
第一解锁控制模块,用于控制解开所述自旋锁。
7.如权利要求5所述的系统,其特征在于,所述第二内存读取模块具体包括:
第二自旋锁锁住模块,用于控制进入所述内存池的大内存链表,锁住所述大内存链表的自旋锁;
第二判断模块,用于判断所述大内存链表的正使用大内存中是否有剩余的内存块;
第二读取控制操作模块,用于当所述第二判断模块判断所述大内存链表的正使用大内存中有剩余的内存块,则更改所述大内存链表的正使用大内存的偏移量,同时,控制读取所述内存池的大内存链表的剩余的内存块分配给申请用户;
内存块申请模块,用于当所述第二判断模块判断所述大内存链表的正使用大内存中没有剩余的内存块,则向操作系统申请一内存块;以及
第二解锁控制模块,用于控制解开所述自旋锁。
8.如权利要求5所述的系统,其特征在于,所述系统还包括:
内存释放控制模块,用于将内存释放在所述内存池的链表的头部。
9.一种包括权利要求5至8任一项的内存管理系统的服务器。
CN2009101104238A 2009-10-30 2009-10-30 一种内存管理方法、系统及服务器 Expired - Fee Related CN101702138B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2009101104238A CN101702138B (zh) 2009-10-30 2009-10-30 一种内存管理方法、系统及服务器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2009101104238A CN101702138B (zh) 2009-10-30 2009-10-30 一种内存管理方法、系统及服务器

Publications (2)

Publication Number Publication Date
CN101702138A true CN101702138A (zh) 2010-05-05
CN101702138B CN101702138B (zh) 2012-01-25

Family

ID=42157054

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009101104238A Expired - Fee Related CN101702138B (zh) 2009-10-30 2009-10-30 一种内存管理方法、系统及服务器

Country Status (1)

Country Link
CN (1) CN101702138B (zh)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102279810A (zh) * 2011-08-11 2011-12-14 浪潮(北京)电子信息产业有限公司 一种网络存储服务器及其缓存数据的方法
CN102455974A (zh) * 2010-10-21 2012-05-16 上海宝信软件股份有限公司 一种内存消耗可控的高速内存申请释放管理系统及方法
CN102693186A (zh) * 2011-02-25 2012-09-26 西门子公司 用于管理数据存储器的物理内存的方法以及数据存储器管理系统
CN102968378A (zh) * 2012-10-23 2013-03-13 深圳市融创天下科技股份有限公司 一种内存分配和释放的方法、装置及系统
CN103150257A (zh) * 2013-02-28 2013-06-12 天脉聚源(北京)传媒科技有限公司 一种内存管理方法和装置
CN103914356A (zh) * 2014-03-12 2014-07-09 汉柏科技有限公司 内存改写的定位方法
CN105354147A (zh) * 2014-08-20 2016-02-24 腾讯科技(深圳)有限公司 一种内存池管理方法及管理系统
CN105389210A (zh) * 2015-10-16 2016-03-09 浪潮(北京)电子信息产业有限公司 一种存储空间管理方法及装置
CN106155917A (zh) * 2015-04-28 2016-11-23 北京信威通信技术股份有限公司 内存管理方法及装置
CN106383742A (zh) * 2016-09-23 2017-02-08 郑州云海信息技术有限公司 一种基于linux的IO调度方法
CN107515785A (zh) * 2016-06-16 2017-12-26 大唐移动通信设备有限公司 一种内存管理方法及装置
CN108572871A (zh) * 2017-12-13 2018-09-25 北京金山云网络技术有限公司 一种资源分配方法、装置、电子设备及存储介质
WO2018228327A1 (zh) * 2017-06-16 2018-12-20 深圳市万普拉斯科技有限公司 内存分配方法、装置、电子设备及可读存储介质
CN112346848A (zh) * 2019-08-09 2021-02-09 中兴通讯股份有限公司 一种管理内存池的方法、装置及终端

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102455974A (zh) * 2010-10-21 2012-05-16 上海宝信软件股份有限公司 一种内存消耗可控的高速内存申请释放管理系统及方法
US9367441B2 (en) 2011-02-25 2016-06-14 Siemens Aktiengesellschaft Method for managing physical memory of a data storage and data storage management system
CN102693186A (zh) * 2011-02-25 2012-09-26 西门子公司 用于管理数据存储器的物理内存的方法以及数据存储器管理系统
CN102279810A (zh) * 2011-08-11 2011-12-14 浪潮(北京)电子信息产业有限公司 一种网络存储服务器及其缓存数据的方法
CN102968378A (zh) * 2012-10-23 2013-03-13 深圳市融创天下科技股份有限公司 一种内存分配和释放的方法、装置及系统
CN102968378B (zh) * 2012-10-23 2016-06-15 融创天下(上海)科技发展有限公司 一种内存分配和释放的方法、装置及系统
CN103150257A (zh) * 2013-02-28 2013-06-12 天脉聚源(北京)传媒科技有限公司 一种内存管理方法和装置
CN103914356A (zh) * 2014-03-12 2014-07-09 汉柏科技有限公司 内存改写的定位方法
CN105354147B (zh) * 2014-08-20 2019-05-31 腾讯科技(深圳)有限公司 一种内存池管理方法及管理系统
CN105354147A (zh) * 2014-08-20 2016-02-24 腾讯科技(深圳)有限公司 一种内存池管理方法及管理系统
CN106155917A (zh) * 2015-04-28 2016-11-23 北京信威通信技术股份有限公司 内存管理方法及装置
CN105389210A (zh) * 2015-10-16 2016-03-09 浪潮(北京)电子信息产业有限公司 一种存储空间管理方法及装置
CN105389210B (zh) * 2015-10-16 2019-07-30 浪潮(北京)电子信息产业有限公司 一种存储空间管理方法及装置
CN107515785A (zh) * 2016-06-16 2017-12-26 大唐移动通信设备有限公司 一种内存管理方法及装置
CN106383742A (zh) * 2016-09-23 2017-02-08 郑州云海信息技术有限公司 一种基于linux的IO调度方法
CN106383742B (zh) * 2016-09-23 2019-10-18 郑州云海信息技术有限公司 一种基于linux的IO调度方法
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
CN108572871A (zh) * 2017-12-13 2018-09-25 北京金山云网络技术有限公司 一种资源分配方法、装置、电子设备及存储介质
CN112346848A (zh) * 2019-08-09 2021-02-09 中兴通讯股份有限公司 一种管理内存池的方法、装置及终端

Also Published As

Publication number Publication date
CN101702138B (zh) 2012-01-25

Similar Documents

Publication Publication Date Title
CN101702138B (zh) 一种内存管理方法、系统及服务器
CN108984264B (zh) 虚拟gpu的实现方法、装置及系统
JP5510556B2 (ja) 仮想マシンのストレージスペースおよび物理ホストを管理するための方法およびシステム
US9547530B2 (en) Data processing apparatus and method for processing a plurality of threads
CN101997918B (zh) 异构san环境中的海量存储资源按需分配的实现方法
CN103425592B (zh) 一种多进程系统中的内存管理方法及装置
CN106874031B (zh) 一种终端设备系统程序的启动方法及装置
CN101971146B (zh) 改进作为管理程序来宾而运行的虚拟机中内存使用情况的系统和方法
US8214573B2 (en) Method and system for handling a management interrupt event in a multi-processor computing device
CN102027453B (zh) 用于在虚拟环境中优化中断处理的系统和方法
CN101799773B (zh) 并行计算的内存访问方法
US9189381B2 (en) Managing CPU resources for high availability micro-partitions
CN105117285B (zh) 一种基于移动虚拟化系统的非易失性存储器调度优化方法
CN1996258A (zh) 一种动态内存池的实现方法
CN111104219A (zh) 虚拟核心与物理核心的绑定方法、装置、设备及存储介质
US9244826B2 (en) Managing CPU resources for high availability micro-partitions
CN103729236B (zh) 一种限制云计算用户资源使用额度的方法
US20190332328A1 (en) Storage Controller and IO Request Processing Method
US9043575B2 (en) Managing CPU resources for high availability micro-partitions
CN103218305A (zh) 存储空间的分配方法
CN108536392A (zh) 混合数据查找方法
CN101169737A (zh) 任务切换控制方法以及计算机系统
CN104317734A (zh) 一种适用于slab的内存分配方法及装置
CN103116475B (zh) 一种自动精简配置扩容的方法
CN106598736A (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
ASS Succession or assignment of patent right

Owner name: GUAN ZHIHANG

Free format text: FORMER OWNER: SHENZHEN SUNFAIRS DIGITAL TECHNOLOGY CO., LTD.

Effective date: 20141202

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: 518048 SHENZHEN, GUANGDONG PROVINCE TO: 518052 SHENZHEN, GUANGDONG PROVINCE

TR01 Transfer of patent right

Effective date of registration: 20141202

Address after: 22, No. 518052, Lai yuan community, Xuefu Road, Nanshan District, Shenzhen, Guangdong,

Patentee after: Guan Zhihang

Address before: Room 1601, block A, South International Plaza, Yitian Road, Shenzhen, Guangdong, Futian District 518048, China

Patentee before: Shenzhen Sunfairs Digital Technology 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: 20171030