CN105159615A - 一种动态内存控制方法及系统 - Google Patents
一种动态内存控制方法及系统 Download PDFInfo
- Publication number
- CN105159615A CN105159615A CN201510574366.4A CN201510574366A CN105159615A CN 105159615 A CN105159615 A CN 105159615A CN 201510574366 A CN201510574366 A CN 201510574366A CN 105159615 A CN105159615 A CN 105159615A
- Authority
- CN
- China
- Prior art keywords
- memory
- memory block
- block
- bytes
- internal
- 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
Landscapes
- Dram (AREA)
Abstract
本发明提供一种动态内存控制方法及系统,用于对Linux操作系统的内存控制中,所述方法包括:从进程空间的内存映射区域为用户进程预先分配至少一个不小于内存映射区域分配阈值的第一内存块;将第一内存块分割成大小相等的至少两个第二内存块;在接收到不大于第二内存块的内存的进程内存申请时,将第二内存块的内存分配至进程内存申请对应的进程;当进程释放内存时,将进程占用的第二内存块的内存归还至第一内存块中;在第一内存块中的所有第二内存块均被释放后,将该第一内存块的内存归还至Linux操作系统。本发明可以有效解决在一些需要反复申请、释放大量的内存块的业务经常会导致操作系统因为内存耗尽而造成业务中断的问题。
Description
技术领域
本发明涉及操作系统技术领域,特别是涉及操作系统进程的内存管理技术领域,具体为一种动态内存控制方法及系统。
背景技术
Linux操作系统用户进程的内存管理默认使用的是ptmalloc机制。Linux操作系统的ptmalloc内存管理机制有以下特点:Linux系统的用户进程从进程空间的两个区域申请动态内存:brk区域和mmap区域,如图1所示。当用户申请的内存块大小小于mmap分配阀值(默认值为128K)时,操作系统从brk区域给进程分配内存。从brk分配的内存在释放时不会立刻归还操作系统。当用户申请的内存块大小大于或者等于mmap分配阀值(默认值为128K)时,操作系统从mmap区域给进程分配内存。从mmap区域分配的内存效率比较低,因此适合在申请大块内存时使用。从mmap区域分配的内存在释放时立刻归还给操作系统。
ptmalloc内存管理机制存在以下问题:假设用户按顺序(内存块A->内存块B->内存块C)申请三块内存块,内存块大小都小于mmap分配阀值(默认值为128K)。进程在释放内存时如果只释放了内存块A和内存块B,内存块C没有释放。则存在这么一个问题:所释放的内存块A和内存块B只是把内存块A和内存块B放到了进程的可用内存当中,并不会归还给操作系统,这就导致了其他的进程无法使用这两块内存。出现应用进程堆内存释放时无法归还给操作系统的原因主要是频繁申请和释放大小小于mmap分配阀值的内存块,也就是操作系统从brk区域分配了内存块。在一些需要反复申请、释放大量的内存块的业务经常会导致操作系统因为内存耗尽而杀死某些进程,造成业务中断。
发明内容
鉴于以上所述现有技术的缺点,本发明的目的在于提供一种动态内存控制方法及系统,用于解决现有技术中在一些需要反复申请、释放大量的内存块的业务经常会导致操作系统因为内存耗尽而杀死某些进程,造成业务中断的问题。
为实现上述目的及其他相关目的,本发明提供一种动态内存控制方法,用于对Linux操作系统用户进程的内存管理控制过程中,所述动态内存控制方法包括:从进程空间的内存映射区域为用户进程预先分配至少一个不小于所述内存映射区域分配阈值的第一内存块;将所述第一内存块分割成大小相等的至少两个第二内存块;在接收到不大于所述第二内存块的内存的进程内存申请时,将所述第二内存块的内存分配至所述进程内存申请对应的进程;当所述进程释放内存时,将所述进程占用的所述第二内存块的内存归还至所述第二内存块原来所属的第一内存块中;在所述第一内存块中的所有第二内存块均被释放后,将所述第一内存块的内存归还至Linux操作系统。
优选地,若所述第一内存块的数量大于等于两个,各个所述第一内存块的大小不相等。
优选地,若所述第一内存块的数量大于等于两个,各个所述第一内存块的大小相等。
优选地,若所述第一内存块的数量大于等于两个,每一个所述第一内存块中的第二内存块的大小与其他所述第一内存块中的第二内存块的大小均不相等。
优选地,所述第二内存块的大小为4字节、8字节、16字节、32字节、64字节或128字节。
为实现上述目的,本发明还提供一种动态内存控制系统,用于对Linux操作系统用户进程的内存管理控制过程中,所述动态内存控制系统包括:第一内存块分配模块,用于从进程空间的内存映射区域为用户进程预先分配至少一个不小于所述内存映射区域分配阈值的第一内存块;第二内存块分配模块,与所述第一内存块分配模块相连,用于将所述第一内存块分割成大小相等的至少两个第二内存块;进程内存分配模块,与所述第二内存块分配模块相连,用于在接收到不大于所述第二内存块的内存的进程内存申请时,将所述第二内存块的内存分配至所述进程内存申请对应的进程;内存释放控制模块,与所述第二内存块分配模块和所述进程内存分配模块相连,用于当所述进程释放内存时,将所述进程占用的所述第二内存块的内存归还至所述第二内存块原来所属的第一内存块中;内存块归还模块,与所述内存释放控制模块相连,用于在所述第一内存块中的所有第二内存块均被释放后,将所述第一内存块的内存归还至Linux操作系统。
优选地,若所述第一内存块的数量大于等于两个,所述第一内存块分配模块还用于使得各个所述第一内存块的大小不相等。
优选地,若所述第一内存块的数量大于等于两个,所述第一内存块分配模块还用于使得各个所述第一内存块的大小相等。
优选地,若所述第一内存块的数量大于等于两个,所述第二内存块分配模块还用于控制每一个所述第一内存块中的第二内存块的大小与其他所述第一内存块中的第二内存块的大小均不相等。
优选地,所述第二内存块分配模块还用于控制所述第二内存块的大小为4字节、8字节、16字节、32字节、64字节或128字节。
如上所述,本发明的一种动态内存控制方法及系统,具有以下有益效果:
本发明从进程空间的内存映射区域为用户进程预先分配至少一个不小于所述内存映射区域分配阈值的第一内存块并将所述第一内存块分割成大小相等的至少两个第二内存块,在接收到不大于所述第二内存块的内存的进程内存申请时,将所述第二内存块的内存分配至所述进程内存申请对应的进程,当所述进程释放内存时,将所述进程占用的所述第二内存块的内存归还至所述第二内存块原来所属的第一内存块中,并在所述第一内存块中的所有第二内存块均被释放后,将所述第一内存块的内存归还至Linux操作系统,所以本发明可以有效解决现有技术中在一些需要反复申请、释放大量的内存块的业务经常会导致操作系统因为内存耗尽而杀死某些进程,造成业务中断的问题。本发明简单高效,具有较强的通用性和实用性。
附图说明
图1显示为现有技术中Linux系统的用户进程从进程空间的brk区域和mmap区域申请动态内存的示意图。
图2显示为本发明的动态内存控制方法的流程示意图。
图3显示为本发明的动态内存控制方法中分配内存的示意图。
图4显示为本发明的动态内存控制方法中释放内存的示意图。
图5显示为本发明的动态内存控制系统的结构示意图。
元件标号说明
1动态内存控制系统
11第一内存块分配模块
12第二内存块分配模块
13进程内存分配模块
14内存释放控制模块
15内存块归还模块
S11~S15步骤
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。
本实施例的目的在于提供一种动态内存控制方法及系统,用于解决现有技术中在一些需要反复申请、释放大量的内存块的业务经常会导致操作系统因为内存耗尽而杀死某些进程,造成业务中断的问题。以下将详细阐述本实施例的一种动态内存控制方法及系统的原理及实施方式,使本领域技术人员不需要创造性劳动即可理解本实施例的一种动态内存控制方法及系统。
如图2至图5所示,本实施例提供一种动态内存控制方法及系统,通过从进程空间的mmap区域(内存映射区域)分配大块内存,然后分割成各种不同大小的小块内存以供进程本身使用,释放时如果小块内存所在的大块内存上所有的小块内存都已经释放,则立即将整块大块内存归还给操作系统。
具体地,如图2所示,本实施例提供一种动态内存控制方法,用于对Linux操作系统用户进程的内存管理控制过程中,所述动态内存控制方法包括以下步骤。
步骤S11,如图3所示,从进程空间的内存映射区域为用户进程预先分配至少一个不小于所述内存映射区域分配阈值的第一内存块。
其中,在本实施例中,所述内存映射区域(mmap)分配阈值一般默认为128k,即从进程空间的内存映射区域为用户进程预先分配至少一个不小于128k的第一内存块。由于第一内存块的大小不小于所述内存映射区域分配阈值,当第一内存块的内存被释放时,第一内存块的内存会及时归还给操作系统,使得操作系统具有分配给其他进程的内存,从而不会造成业务的中断。
其中,所述第一内存块的数量大于等于一个。若所述第一内存块的数量大于等于两个,各个所述第一内存块的大小不相等或者若所述第一内存块的数量大于等于两个,各个所述第一内存块的大小相等。也就是说,存在多个第一内存块时,多个第一内存块被分配的内存最好是均不相等,当然也可以存在内存相等的两个或多个第一内存块或多个第一内存块的内存的大小彼此均相等。
例如,如图3所示,从进程空间的内存映射区域为用户进程预先分配三个第一内存块,三个第一内存块的大小分别为288k,576k,1152k,或者三个第一内存的大小均为576k。
步骤S12,将所述第一内存块分割成大小相等的至少两个第二内存块。这样,每一个第一内存块相当于一个大块内存,第一内存块便可以看作一个内存池,池里边有若干个小块内存(第二内存块)。也就是说,步骤S12实际相当于,从mmap区域分配几块大块(大小大于mmap分配阀值)的内存,把每一块分割若干个相同大小的小块内。这样,每一个大块内存可以看作是一个内存池,池内有若干个小块内存。
具体地,在本实施例中,若所述第一内存块的数量大于等于两个,每一个所述第一内存块中的第二内存块的大小与其他所述第一内存块中的第二内存块的大小均不相等。也就是说,不管第一内存块的大小是否相等,任意一个第一内存块中的第二内存块的大小与其他第一内存块中的第二内存块的大小都不相等。例如,两个第一内存块均为576k,其中一个第一内存块中有6个第二内存块,每个第二内存块的大小为96k,而另外一个第一内存块中有9个第二内存块,这样每个第二内存块的大小为64k。再比如,一个第一内存块的大小为288k,该第一内存块中有9个第二内存块,每个第二内存块的大小为32k,而另外一个第一内存块的大小为576k,该第一内存块中也有9个第二内存块,每个第二内存块的大小为64k,所以两个第一内存块中第二内存块的内存大小仍然不相等。
所述第二内存块的大小与所述第一内存块的内存大小以及所述第一内存块被分成的均等份数相关。具体地,在本实施例中,所述第二内存块的大小为但不限于4字节、8字节、16字节、32字节、64字节或128字节。
步骤S13,在接收到不大于所述第二内存块的内存的进程内存申请时,将所述第二内存块的内存分配至所述进程内存申请对应的进程。用户进程在申请小块内存(不大于第二内存块的内存)时,直接从这些小块内存池(第二内存块)里边获取内存,分配给用户进程。例如,用户在申请小块内存时(比如申请的内存块大小为50字节),从包含64字节大小的多个内存的内存池(第一内存块)里边摘取一个小块内存(大小为64字节的第二内存块)。
步骤S14,当所述进程释放内存时,将所述进程占用的所述第二内存块的内存归还至所述第二内存块原来所属的第一内存块中。用户进程在释放内存时,把小块内存(大小为64字节的第二内存块)放回到内存池第一内存块)里边。
步骤S15,如图4所示,在所述第一内存块中的所有第二内存块均被释放后,将所述第一内存块的内存归还至Linux操作系统。当内存池里边的内存都释放之后,把整个内存池的内存归还给操作系统。也就是说,用户进程在释放内存时,直接把小块内存放回对应的内存池中。当内存池中所有的小块内存都已经释放的时候,把大块内存及时归还给操作系统。这样,操作系统变回存在相对充足的内存分配给一些需要反复申请、释放大量的内存块的业务。
为使本领域技术人员进一步理解本实施例中的动态内存控制方法,以下将进一步说明本实施例中动态内存控制方法的实施过程。
首先从mmap区域分配几块大块(大小大于mmap分配阀值)的内存,把每一块分割若干个相同大小的小块内。例如,进程一次性向操作系统申请了三个大块内存,然后分别分割成若干块大小为32字节(图3中所示的32)、64字节(图3中所示的64)、128字节(图3中所示的128)的小块内存块。这样,每一块大块内存便可以看作一个内存池,池里边有若干个小块内存。用户在申请小块内存时(比如申请的内存块大小为50字节),直接从64字节大小的内存池里边摘取一个小块内存返回(如图3中的虚线圆角小方块表示分配出去的小块内存,实线圆角小方块表示已经释放的小块内存)。用户在释放内存时,如图4所示,把小块放回到内存池里边。当内存池里边的内存都释放之后,把整个内存池的内存归还给操作系统。
为实现本实施例中的一种动态内存控制方法,本实施例还提供一种动态内存控制系统,用于对Linux操作系统用户进程的内存管理控制过程中,具体地,如图5所示,所述动态内存控制系统1包括:第一内存块分配模块11,第二内存块分配模块12,进程内存分配模块13,内存释放控制模块14以及内存块归还模块15。
所述第一内存块分配模块11用于从进程空间的内存映射区域为用户进程预先分配至少一个不小于所述内存映射区域分配阈值的第一内存块。其中,在本实施例中,所述内存映射区域(mmap)分配阈值一般默认为128k,即所述第一内存块分配模块11从进程空间的内存映射区域为用户进程预先分配至少一个不小于128k的第一内存块。由于第一内存块的大小不小于所述内存映射区域分配阈值,当第一内存块的内存被释放时,第一内存块的内存会及时归还给操作系统,使得操作系统具有分配给其他进程的内存,从而不会造成业务的中断。
其中,所述第一内存块的数量大于等于一个。具体地,在本实施例中,若所述第一内存块的数量大于等于两个,所述第一内存块分配模块11还用于使得各个所述第一内存块的大小不相等或者所述第一内存块分配模块11还用于使得各个所述第一内存块的大小相等。也就是说,存在多个第一内存块时,多个第一内存块被所述第一内存块分配模块11分配的内存最好是均不相等,当然也可以存在内存相等的两个或多个第一内存块或多个第一内存块的内存的大小彼此均相等。例如,如图3所示,所述第一内存块分配模块11从进程空间的内存映射区域为用户进程预先分配三个第一内存块,三个第一内存块的大小分别为288k,576k,1152k,或者三个第一内存的大小均为576k。
如图3所示,所述第二内存块分配模块12与所述第一内存块分配模块11相连,用于将所述第一内存块分割成大小相等的至少两个第二内存块。这样,每一个第一内存块相当于一个大块内存,第一内存块便可以看作一个内存池,池里边有若干个小块内存(第二内存块)。也就是说,所述第二内存块分配模块12实际相当于,从mmap区域分配几块大块(大小大于mmap分配阀值)的内存,把每一块分割若干个相同大小的小块内。这样,每一个大块内存可以看作是一个内存池,池内有若干个小块内存。
具体地,在本实施例中,若所述第一内存块的数量大于等于两个,所述第二内存块分配模块12还用于控制每一个所述第一内存块中的第二内存块的大小与其他所述第一内存块中的第二内存块的大小均不相等。也就是说,不管第一内存块的大小是否相等,任意一个第一内存块中的第二内存块的大小与其他第一内存块中的第二内存块的大小都不相等。例如,两个第一内存块均为576k,其中一个第一内存块中有6个第二内存块,每个第二内存块的大小为96k,而另外一个第一内存块中有9个第二内存块,这样每个第二内存块的大小为64k。再比如,一个第一内存块的大小为288k,该第一内存块中有9个第二内存块,每个第二内存块的大小为32k,而另外一个第一内存块的大小为576k,该第一内存块中也有9个第二内存块,每个第二内存块的大小为64k,所以两个第一内存块中第二内存块的内存大小仍然不相等。
所述第二内存块的大小与所述第一内存块的内存大小以及所述第一内存块被分成的均等份数相关。更进一步地,在本实施例中,所述第二内存块分配模块12还用于控制所述第二内存块的大小为4字节、8字节、16字节、32字节、64字节或128字节。
所述进程内存分配模块13与所述第二内存块分配模块12相连,用于在接收到不大于所述第二内存块的内存的进程内存申请时,将所述第二内存块的内存分配至所述进程内存申请对应的进程。用户进程在申请小块内存(不大于第二内存块的内存)时,所述进程内存分配模块13直接从这些小块内存池(第二内存块)里边获取内存,分配给用户进程。例如,用户在申请小块内存时(比如申请的内存块大小为50字节),从包含64字节大小的多个内存的内存池(第一内存块)里边摘取一个小块内存(大小为64字节的第二内存块)。
所述内存释放控制模块14与所述第二内存块分配模块12和所述进程内存分配模块13相连,用于当所述进程释放内存时,将所述进程占用的所述第二内存块的内存归还至所述第二内存块原来所属的第一内存块中。用户进程在释放内存时,所述内存释放控制模块14控制把小块内存(大小为64字节的第二内存块)放回到内存池第一内存块)里边。
如图4所示,所述内存块归还模块15与所述内存释放控制模块14相连,用于在所述第一内存块中的所有第二内存块均被释放后,将所述第一内存块的内存归还至Linux操作系统。当内存池里边的内存都释放之后,把整个内存池的内存归还给操作系统。也就是说,用户进程在释放内存时,所述内存释放控制模块14直接把小块内存放回对应的内存池中。当内存池中所有的小块内存都已经释放的时候,所述内存块归还模块15把大块内存及时归还给操作系统。这样,操作系统变回存在相对充足的内存分配给一些需要反复申请、释放大量的内存块的业务。
为使本领域技术人员进一步理解本实施例中的动态内存控制系统1,以下将进一步说明本实施例中动态内存控制系统1的工作过程。
首先,所述第一内存块分配模块11从mmap区域分配几块大块(大小大于mmap分配阀值)的内存,所述第二内存块分配模块12把每一大块分割若干个相同大小的小块内。例如,所述第一内存块分配模块11一次性向操作系统申请了三个大块内存,然后所述第二内存块分配模块12分别分割成若干块大小为32字节(图3中所示的32)、64字节(图3中所示的64)、128字节(图3中所示的128)的小块内存块。这样,每一块大块内存便可以看作一个内存池,池里边有若干个小块内存。用户进程在申请小块内存时(比如申请的内存块大小为50字节),所述进程内存分配模块13直接从64字节大小的内存池里边摘取一个小块内存返回(如图3中的虚线圆角小方块表示分配出去的小块内存,实线圆角小方块表示已经释放的小块内存)。用户进程在释放内存时,如图4所示,所述内存释放控制模块14控制把小块放回到内存池里边。当内存池里边的内存都释放之后,所述内存块归还模块15把整个内存池的内存归还给操作系统。
综上所述,本发明从进程空间的内存映射区域为用户进程预先分配至少一个不小于所述内存映射区域分配阈值的第一内存块并将所述第一内存块分割成大小相等的至少两个第二内存块,在接收到不大于所述第二内存块的内存的进程内存申请时,将所述第二内存块的内存分配至所述进程内存申请对应的进程,当所述进程释放内存时,将所述进程占用的所述第二内存块的内存归还至所述第二内存块原来所属的第一内存块中,并在所述第一内存块中的所有第二内存块均被释放后,将所述第一内存块的内存归还至Linux操作系统,所以本发明可以有效解决现有技术中在一些需要反复申请、释放大量的内存块的业务经常会导致操作系统因为内存耗尽而杀死某些进程,造成业务中断的问题。本发明简单高效,具有较强的通用性和实用性。所以,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。
Claims (10)
1.一种动态内存控制方法,用于对Linux操作系统用户进程的内存管理控制过程中,其特征在于:所述动态内存控制方法包括:
从进程空间的内存映射区域为用户进程预先分配至少一个不小于所述内存映射区域分配阈值的第一内存块;
将所述第一内存块分割成大小相等的至少两个第二内存块;
在接收到不大于所述第二内存块的内存的进程内存申请时,将所述第二内存块的内存分配至所述进程内存申请对应的进程;
当所述进程释放内存时,将所述进程占用的所述第二内存块的内存归还至所述第二内存块原来所属的第一内存块中;
在所述第一内存块中的所有第二内存块均被释放后,将所述第一内存块的内存归还至Linux操作系统。
2.根据权利要求1所述的动态内存控制方法,其特征在于:若所述第一内存块的数量大于等于两个,各个所述第一内存块的大小不相等。
3.根据权利要求1所述的动态内存控制方法,其特征在于:若所述第一内存块的数量大于等于两个,各个所述第一内存块的大小相等。
4.根据权利要求1所述的动态内存控制方法,其特征在于:若所述第一内存块的数量大于等于两个,每一个所述第一内存块中的第二内存块的大小与其他所述第一内存块中的第二内存块的大小均不相等。
5.根据权利要求1或4所述的动态内存控制方法,其特征在于:所述第二内存块的大小为4字节、8字节、16字节、32字节、64字节或128字节。
6.一种动态内存控制系统,用于对Linux操作系统用户进程的内存管理控制过程中,其特征在于:所述动态内存控制系统包括:
第一内存块分配模块,用于从进程空间的内存映射区域为用户进程预先分配至少一个不小于所述内存映射区域分配阈值的第一内存块;
第二内存块分配模块,与所述第一内存块分配模块相连,用于将所述第一内存块分割成大小相等的至少两个第二内存块;
进程内存分配模块,与所述第二内存块分配模块相连,用于在接收到不大于所述第二内存块的内存的进程内存申请时,将所述第二内存块的内存分配至所述进程内存申请对应的进程;
内存释放控制模块,与所述第二内存块分配模块和所述进程内存分配模块相连,用于当所述进程释放内存时,将所述进程占用的所述第二内存块的内存归还至所述第二内存块原来所属的第一内存块中;
内存块归还模块,与所述内存释放控制模块相连,用于在所述第一内存块中的所有第二内存块均被释放后,将所述第一内存块的内存归还至Linux操作系统。
7.根据权利要求6所述的动态内存控制系统,其特征在于:若所述第一内存块的数量大于等于两个,所述第一内存块分配模块还用于使得各个所述第一内存块的大小不相等。
8.根据权利要求6所述的动态内存控制系统,其特征在于:若所述第一内存块的数量大于等于两个,所述第一内存块分配模块还用于使得各个所述第一内存块的大小相等。
9.根据权利要求7所述的动态内存控制系统,其特征在于:若所述第一内存块的数量大于等于两个,所述第二内存块分配模块还用于控制每一个所述第一内存块中的第二内存块的大小与其他所述第一内存块中的第二内存块的大小均不相等。
10.根据权利要求6或9所述的动态内存控制系统,其特征在于:所述第二内存块分配模块还用于控制所述第二内存块的大小为4字节、8字节、16字节、32字节、64字节或128字节。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510574366.4A CN105159615A (zh) | 2015-09-10 | 2015-09-10 | 一种动态内存控制方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510574366.4A CN105159615A (zh) | 2015-09-10 | 2015-09-10 | 一种动态内存控制方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105159615A true CN105159615A (zh) | 2015-12-16 |
Family
ID=54800489
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510574366.4A Pending CN105159615A (zh) | 2015-09-10 | 2015-09-10 | 一种动态内存控制方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105159615A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105786623A (zh) * | 2016-03-04 | 2016-07-20 | 东港股份有限公司 | 一种Java卡多通道临时对象管理方法 |
CN106919513A (zh) * | 2017-02-13 | 2017-07-04 | 福建天泉教育科技有限公司 | 一种内存管理方法及系统 |
CN107844262A (zh) * | 2016-09-21 | 2018-03-27 | 东软集团股份有限公司 | 数据缓存、发送方法及装置 |
CN111338981A (zh) * | 2020-02-21 | 2020-06-26 | 深圳震有科技股份有限公司 | 一种内存防碎片方法、系统及储存介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1722106A (zh) * | 2004-07-13 | 2006-01-18 | 中兴通讯股份有限公司 | 一种嵌入式实时操作系统中内存分配的方法 |
CN101149703A (zh) * | 2007-10-10 | 2008-03-26 | 中兴通讯股份有限公司 | 一种固定内存的管理方法 |
US8060706B2 (en) * | 2008-03-28 | 2011-11-15 | Inventec Corporation | Method of allocating physical memory in specified address range under Linux system platform |
-
2015
- 2015-09-10 CN CN201510574366.4A patent/CN105159615A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1722106A (zh) * | 2004-07-13 | 2006-01-18 | 中兴通讯股份有限公司 | 一种嵌入式实时操作系统中内存分配的方法 |
CN101149703A (zh) * | 2007-10-10 | 2008-03-26 | 中兴通讯股份有限公司 | 一种固定内存的管理方法 |
US8060706B2 (en) * | 2008-03-28 | 2011-11-15 | Inventec Corporation | Method of allocating physical memory in specified address range under Linux system platform |
Non-Patent Citations (1)
Title |
---|
韩志刚: "一个内存分配器的设计和实现", 《中国优秀硕士学位论文全文数据库(电子期刊) 信息科技辑》 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105786623A (zh) * | 2016-03-04 | 2016-07-20 | 东港股份有限公司 | 一种Java卡多通道临时对象管理方法 |
CN105786623B (zh) * | 2016-03-04 | 2019-03-05 | 东港股份有限公司 | 一种Java卡多通道临时对象管理方法 |
CN107844262A (zh) * | 2016-09-21 | 2018-03-27 | 东软集团股份有限公司 | 数据缓存、发送方法及装置 |
CN107844262B (zh) * | 2016-09-21 | 2021-06-25 | 东软集团股份有限公司 | 数据缓存、发送方法及装置 |
CN106919513A (zh) * | 2017-02-13 | 2017-07-04 | 福建天泉教育科技有限公司 | 一种内存管理方法及系统 |
CN106919513B (zh) * | 2017-02-13 | 2020-05-12 | 福建天泉教育科技有限公司 | 一种内存管理方法及系统 |
CN111338981A (zh) * | 2020-02-21 | 2020-06-26 | 深圳震有科技股份有限公司 | 一种内存防碎片方法、系统及储存介质 |
CN111338981B (zh) * | 2020-02-21 | 2022-11-08 | 深圳震有科技股份有限公司 | 一种内存防碎片方法、系统及储存介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105159615A (zh) | 一种动态内存控制方法及系统 | |
CN105242957A (zh) | 一种云计算系统调配gpu资源到虚拟机的方法及系统 | |
CN101847127B (zh) | 一种内存管理方法及装置 | |
CN106095590B (zh) | 一种基于线程池的任务分配方法及装置 | |
US20100274947A1 (en) | Memory management method, memory management program, and memory management device | |
CN108052396A (zh) | 一种资源分配方法及系统 | |
US10846144B2 (en) | Multistep automated scaling for cluster containers | |
CN101329655B (zh) | 一种内存管理方法和内存管理装置 | |
CA2566681A1 (en) | Dynamic memory management of unallocated memory in a legal partitioned data processing system | |
US20200174821A1 (en) | System, method and computer program for virtual machine resource allocation | |
CN108519917A (zh) | 一种资源池分配方法和装置 | |
CN105630599B (zh) | 基于32/64位混合操作系统的显存分配方法及装置 | |
CN103049328A (zh) | 计算机系统中内存资源分配方法 | |
CN108897601A (zh) | 一种基于虚拟化的fpga使用方法、系统及相关装置 | |
CN108805397A (zh) | 电子装置、分配任务的方法及存储介质 | |
CN110515727A (zh) | 一种fpga的内存空间操作方法及相关装置 | |
CN108399102A (zh) | 一种资源分配方法和装置 | |
CN106776356A (zh) | 一种实现内存高速交互的系统及方法 | |
CN103412796A (zh) | 操作系统中任务的堆栈分配方法及装置 | |
CN104008062B (zh) | 内存管理方法及内存管理装置 | |
CN110532087A (zh) | 一种资源分配方法、资源管理器 | |
CN105760225B (zh) | 一种内存回收方法与系统 | |
CN104778125A (zh) | 一种内存管理方法及系统 | |
CN106775925A (zh) | 一种虚拟机cpu的限额处理方法和装置 | |
CA2966117C (en) | A method of partitioning a set-associative cache in a computing platform |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20151216 |