CN107193753A - 内存重整方法、装置、电子设备及可读存储介质 - Google Patents

内存重整方法、装置、电子设备及可读存储介质 Download PDF

Info

Publication number
CN107193753A
CN107193753A CN201710457641.3A CN201710457641A CN107193753A CN 107193753 A CN107193753 A CN 107193753A CN 201710457641 A CN201710457641 A CN 201710457641A CN 107193753 A CN107193753 A CN 107193753A
Authority
CN
China
Prior art keywords
memory
partitioning
advance
condition
type
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
CN201710457641.3A
Other languages
English (en)
Other versions
CN107193753B (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.)
Oneplus Technology Shenzhen Co Ltd
Original Assignee
Oneplus Technology Shenzhen 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 Oneplus Technology Shenzhen Co Ltd filed Critical Oneplus Technology Shenzhen Co Ltd
Priority to CN201710457641.3A priority Critical patent/CN107193753B/zh
Publication of CN107193753A publication Critical patent/CN107193753A/zh
Priority to PCT/CN2018/090695 priority patent/WO2018228344A1/zh
Application granted granted Critical
Publication of CN107193753B publication Critical patent/CN107193753B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0253Garbage collection, i.e. reclamation of unreferenced memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1041Resource optimization
    • G06F2212/1044Space efficiency improvement

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System (AREA)
  • Stored Programmes (AREA)

Abstract

本发明提供一种内存重整方法、装置、电子设备及可读存储介质。所述方法包括:对内存分配情况进行检测;根据检测的内存分配情况判断是否满足预先重整条件;在内存分配情况满足预先重整条件时,进行内存预先重整。由此,在内存发生碎片化之前,对内存进行预先重整,以避免在内存碎片化发生时进行耗时的内存重整,从而提升用户体验。

Description

内存重整方法、装置、电子设备及可读存储介质
技术领域
本发明涉及计算机存储技术领域,具体而言,涉及一种内存重整方法、装置、电子设备及可读存储介质。
背景技术
目前,在接收到内存分配请求时,电子设备会根据内存分配请求从内存的可用内存块中分配相应容量的内存块。在内存的可用内存块不能满足内存分配需求时,即发生内存碎片化时,进行内存重整,以得到整块连续的存储空间。
然而,在内存发生碎片化时进行内存重整,具有以下不足。当内存碎片化问题发生之后,需要花费一定的时间与资源进行内存重整;进而在一定程度上还会影响到用户的正常操作、额外消耗电力等。
发明内容
为了克服现有技术中的上述不足,本发明所要解决的技术问题是提供一种内存重整方法、装置、电子设备及可读存储介质,其能够在内存分配情况满足预先重整条件时,对内存进行预先重整,从而避免在内存无法满足内存分配需求时进行阻塞的内存重整,以提升用户体验。
本发明较佳实施例提供一种内存重整方法,应用于电子设备,所述方法包括:
对内存分配情况进行检测;
根据检测的内存分配情况判断是否满足预先重整条件;
在所述内存分配情况满足预先重整条件时,进行内存预先重整。
本发明较佳实施例还提供一种内存重整装置,应用于电子设备,所述装置包括:
检测模块,用于对内存分配情况进行检测;
判断模块,用于根据检测的内存分配情况判断是否满足预先重整条件;
重整模块,用于在所述内存分配情况满足预先重整条件时,进行内存预先重整。
本发明较佳实施例还提供一种电子设备,所述电子设备包括:
存储器;
处理器;及
内存重整装置,所述内存重整装置安装于所述存储器中并包括一个或多个由所述处理器执行的软件功能模块,所述装置包括:
检测模块,用于对内存分配情况进行检测;
判断模块,用于根据检测的内存分配情况判断是否满足预先重整条件;
重整模块,用于在所述内存分配情况满足预先重整条件时,进行内存预先重整。
本发明较佳实施例还提供一种可读存储介质,所述可读存储介质包括计算机程序,
所述计算机程序运行时所述可读存储介质所在电子设备执行上述任意一项所述的内存重整方法。
相对于现有技术而言,本发明具有以下有益效果:
本发明提供一种内存重整方法、装置、电子设备及可读存储介质。所述方法应用于电子设备。对内存分配情况进行检测,以判断当前内存分配情况是否满足预先重整条件。若所述内存分配情况满足预先重整条件,表征内存将发生碎片化,则进行内存预先重整。由此,在内存发生碎片化之前,对内存进行预先重整,以预防发生碎片化,同时可避免在内存碎片化发生时进行耗时的内存重整,从而提升用户体验。
为使发明的上述目的、特征和优点能更明显易懂,下文特举本发明较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1是本发明较佳实施例提供的电子设备的方框示意图。
图2是本发明较佳实施例提供的内存重整方法的流程示意图之一。
图3是图2中步骤S120包括的子步骤的流程示意图。
图4是图3中子步骤S121包括的子步骤的流程示意图。
图5是图4中子步骤S1211包括的子步骤的流程示意图。
图6是本发明较佳实施例提供的内存重整装置的方框示意图。
图标:100-电子设备;110-存储器;120-存储控制器;130-处理器;200-内存重整装置;210-检测模块;220-判断模块;221-判断子模块;230-重整模块。
具体实施方式
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本发明的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
下面结合附图,对本发明的一些实施方式作详细说明。在不冲突的情况下,下述的实施例及实施例中的特征可以相互组合。
请参照图1,图1是本发明较佳实施例提供的电子设备100的方框示意图。本发明实施例中所述电子设备100可以是,但不限于,智能手机、平板电脑等。所述电子设备100包括:存储器110、存储控制器120、处理器130以及内存重整装置200。
所述存储器110、存储控制器120及处理器130各元件之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。存储器110中存储有内存重整装置200,所述内存重整装置200包括至少一个可以软件或固件(firmware)的形式存储于所述存储器110中的软件功能模块。所述处理器130通过运行存储在存储器110内的软件程序以及模块,如本发明实施例中的内存重整装置200,从而执行各种功能应用以及数据处理,即实现本发明实施例中的内存重整方法。
其中,所述存储器110可以是,但不限于,随机存取存储器(Random AccessMemory,RAM),只读存储器(Read Only Memory,ROM),可编程只读存储器(ProgrammableRead-Only Memory,PROM),可擦除只读存储器(Erasable Programmable Read-OnlyMemory,EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-OnlyMemory,EEPROM)等。其中,存储器110用于存储程序,所述处理器130在接收到执行指令后,执行所述程序。所述处理器130以及其他可能的组件对存储器110的访问可在所述存储控制器120的控制下进行。
所述处理器130可能是一种集成电路芯片,具有信号的处理能力。上述的处理器130可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等。还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
可以理解,图1所示的结构仅为示意,电子设备100还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。图1中所示的各组件可以采用硬件、软件或其组合实现。
请参照图2,图2是本发明较佳实施例提供的内存重整方法的流程图。所述方法应用于所述电子设备100。下面对内存重整方法的具体流程进行详细阐述。
步骤S110,对内存分配情况进行检测。
在本实施例中,所述电子设备100上运行有很多程序,在程序运行时(比如,通过浏览器浏览网页时),经常会向系统发送内存分配请求,获得相应容量的内存以满足需要。其中,所述内存分配请求包括所需分配的内存容量。所述电子设备100的系统在接收内存分配请求后,根据所需分配的内存容量从内存中分配相应容量的内存块。
所述电子设备100的内存包括可移动类型的内存分区、可回收类型的内存分区及不可移动类型的内存分区。每个内存分区包括多个内存块。其中,上述三个分区的内存块可以互相使用,若是满足特定条件,某一类型分区允许使用其他分区的内存块并将转换该内存块的类型。比如,当不可移动内存分区所包含的内存不足时,可以询问可回收和/或可移动内存分区是否存在足够的内存块,如果存在,直接使用该内存块并将此内存块的类型转换为不可移动。
若在三个分区的内存块可以互相使用的基础上,内存中依然没有可以满足所需分配的内存容量的内存块,则表征已经发生内存碎片化(Memory fragmentation),此时则需要进行耗时的内存重整(Memory compaction),以获得足够的内存块。
其中,内存碎片化是指在用户需要一块N大小且连续的内存块时,虽然可使用内存总量大于N,但是每一个内存块的容量大小都小于用户需求的N,导致用户需求无法被满足。
其中,内存重整是让可使用的内存相邻,从而合成为一整块连续的内存空间。在操作系统系统中,虚拟地址跟实际内存是需要映射转换的,一般会有两种映射。一种是可移动的映射,虚拟地址跟实际内存地址能够动态调整映射(比如:一般情况下,用户使用的内存使用的是相同的虚拟地址,但是可以动态映射到不同的实际内存地址)。另一种是不可移动的映射,虚拟地址跟实际内存地址之间的映射不能改动(比如:驱动程序或是操作系统本身使用到的虚拟地址跟物理内存地址)。而内存重整就是将可移动的映射区域整体做一次动态调整,以提供足够大的连续物理内存空间以满足需求。
若内存中存在满足所需分配的内存容量的内存块,并成功进行分配,则对所述可移动类型的内存分区、可回收类型的内存分区及不可移动类型的内存分区的内存块分配情况进行检测。
步骤S120,根据检测的内存分配情况判断是否满足预先重整条件。
请参照图3,图3是图2中步骤S120包括的子步骤的流程示意图。所述步骤S120可以包括子步骤S121。
子步骤S121,根据检测到的可移动类型的内存分区、可回收类型的内存分区及不可移动类型的内存分区的内存块的分配情况判断是否满足预先重整条件。
在本实施例中,要进行预先的内存重整必须满足预先重整条件。若可移动类型的内存分区、可回收类型的内存分区及不可移动类型的内存分区的内存块的分配情况满足预先重整条件,则表征所述电子设备100的内存即将发生碎片化。
除此之外,也可以通过其他的方式判断是否需要预先进行内存重整。接下来以一种具体实施方式讲述如何根据内存的分配情况判断是否满足预先重整条件。
请参照图4,图4是图3中子步骤S121包括的子步骤的流程示意图。所述子步骤S121可以包括子步骤S1211、子步骤S1212、子步骤S1213及子步骤S1214。
子步骤S1211,判断可移动类型的内存分区的内存块或可回收类型的内存分区的内存块是否被借用。
请参照图5,图5是图4中子步骤S1211包括的子步骤的流程示意图。所述子步骤S1211可以包括子步骤S12113及子步骤S12114。
子步骤S12113,根据不可移动类型的内存分区的内存块的分配情况判断所述不可移动类型的内存分区的内存块是否能够满足内存分配请求。
在本实施方式中,在接收到内存分配请求后,首先从不可移动类型的内存分区分配内存块。通过检测得到的所述不可移动类型的内存分区的内存块的分配情况,判断所述不移动类型的内存分区是否可以分配与内存分配请求对应的内存块。
若所述不可移动类型的内存分区可以分配与内存分配请求对应的内存块,表征所述电子设备100的内存情况良好,还不会发生碎片化,则不再进行后续步骤。若所述不可移动类型的内存分区不可以分配与内存分配请求对应的内存块,也就是说所述不可移动类型分区的内存块不能满足内存分配请求,则进行子步骤S12114。
子步骤S12114,在所述不可移动类型的内存分区的内存块不能满足内存分配请求,且可移动类型的内存分区的内存块或可回收类型的内存分区的内存块被分配时,判定可移动类型的内存分区的内存块或可回收类型的内存分区的内存块被借用。
若所述不可移动类型的内存分区的内存块不能满足内存分配请求,且可移动类型的内存分区的内存块或可回收类型的内存分区的内存块被分配,表征所述电子设备100内存中的可移动类型的内存分区的内存块或可回收类型的内存分区的内存块被借用。
子步骤S1212,如果被借用,则判断被借用的内存块的容量是否超过预设容量阈值。
在本实施方式中,在可移动类型的内存分区的内存块或可回收类型的内存分区的内存块被借用时,检测被借用的内存块的容量。将被借用的内存块的容量与预设容量阈值进行比较,在被借用的内存块的容量小于预设容量阈值时,则不再进行以下步骤;在被借用的内存块的容量大于预设容量阈值时,表征不可移动类型的内存分区中可用内存块的容量均小于所需分配的内存容量,则进行子步骤S1213。其中,预设容量阈值可以是根据实际情况进行设定。
比如,将预设容量阈值设置为order 5。Order是指内存的大小。比如,order 0表示2^0=1个分页大小(4KB*1)的连续内存空间;order 5表示2^5=32个分页大小(4KB*32=128KB)的连续内存空间。
子步骤S1213,若超过预设容量阈值,则判断与被借用的内存块容量相同的可用内存块的数量是否小于预设数量。
在本实施方式中,若被借用的内存块的容量大于预设容量阈值,则获取被借用的内存块所在链表的信息。一般系统都会把相同大小的空间做链表以方便管理。比如,将刚好为128KB大小的空间使用链表串接起来为一个order 5分组来管理。若order 5的链表是空的,则表征没有刚好是order 5大小的空间了,但此时,其他order的链表(比如,order 7)可以为空,也可以不为空,跟order 5并无关系。
根据所述被借用的内存块所在链表的信息,可获得与被借用的内存块容量相同的可用内存块的数量。将上述可用内存块的数量与预设数量进行比较。若上述可用内存块的数量大于预设数量,表征与被借用的内存块容量相同的可用内存块还有很多,可满足接下来的与该可用内存块容量对应的内存分配需求,则不再进行以下步骤。若上述可用内存块的数量小于预设数量,表征与被借用的内存块容量相同的可用内存块不足,则进行子步骤S1214。其中,所述预设数量可以根据实际情况进行设定(比如,0、1等)。
子步骤S1214,在与被借用的内存块容量相同的可用内存块的数量小于预设数量时,判定所述内存块的分配情况满足预先重整条件。
步骤S130,在所述内存分配情况满足预先重整条件时,进行内存预先重整。
在所述内存分配情况满足预先重整条件时,进行非阻塞的内存重整。非阻塞式的内存重整就是指不需要任何等待操作,等待操作是指此操作需要停顿,直到其他进程的特定工作完成后才能回复。一般而言,等待操作会使得重整时间不可控。在内存发生碎片时,进行的就是阻塞式的内存重整,需要等待操作。下面以举例形式介绍阻塞与非阻塞,比如,阻塞调用就是指调用结果返回之前,当前线程会被挂起,函数只有在得到结果之后才会返回;而非阻塞调用是指不能立刻得到结果之前,该函数不会阻塞当前线程,而会立刻返回。
通过上述方法,在碎片化的状况发生之前,通过多次快速的预先内存重整避免发生内存碎片化,同时避免在发生碎片化后,进行单次耗时的内存重整。因此,在内存分配情况满足预先重整条件时,预先进行内存重整,用户不会受到任何影响,提升了用户体验。
请参照图6,图6是本发明较佳实施例提供的内存重整装置200的方框示意图。所述内存重整装置200应用于电子设备100。所述内存重整装置200可以包括检测模块210、判断模块220及重整模块230。
检测模块210,用于对内存分配情况进行检测。
在本实施例中,所述电子设备100的内存包括可移动类型的内存分区、可回收类型的内存分区及不可移动类型的内存分区,每个内存分区包括多个内存块。所述检测模块210对内存分配情况进行检测的方式包括:
对所述可移动类型的内存分区、可回收类型的内存分区及不可移动类型的内存分区的内存块分配情况进行检测。
在本实施例中,所述检测模块210用于执行图2中的步骤S110,关于所述检测模块210的具体描述可以参照图2中步骤S110的描述。
判断模块220,用于根据检测的内存分配情况判断是否满足预先重整条件。
所述判断模块220可以包括判断子模块221。判断子模块221,用于根据检测到的可移动类型的内存分区、可回收类型的内存分区及不可移动类型的内存分区的内存块的分配情况判断是否满足预先重整条件。
所述判断子模块221根据检测到的可移动类型的内存分区、可回收类型的内存分区及不可移动类型的内存分区的内存块的分配情况判断是否满足预先重整条件的方式包括:
判断可移动类型的内存分区的内存块或可回收类型的内存分区的内存块是否被借用;
如果被借用,则判断被借用的内存块的容量是否超过预设容量阈值;
若超过预设容量阈值,则判断与被借用的内存块容量相同的可用内存块的数量是否小于预设数量;
在与被借用的内存块容量相同的可用内存块的数量小于预设数量时,判定所述内存块的分配情况满足预先重整条件。
在本实施例中,所述判断模块220用于执行图2中的步骤S120,关于所述判断模块220的具体描述可以参照图2中步骤S120的描述。
重整模块230,用于在所述内存分配情况满足预先重整条件时,进行内存预先重整。
在本实施例中,所述重整模块230用于执行图2中的步骤S130,关于所述重整模块230的具体描述可以参照图2中步骤S130的描述。
本发明较佳实施例还提供一种可读存储介质,所述可读存储介质包括计算机程序,所述计算机程序运行时所述可读存储介质所在电子设备100执行上述的内存重整方法。具体描述请参照对应内存重整方法的描述。
综上所述,本发明提供一种内存重整方法、装置、电子设备及可读存储介质。所述方法应用于电子设备。通过对内存分配情况进行检测得到内存分配情况,进而判断是否满足预先重整条件。在内存分配情况满足预先重整条件时,对内存进行预先重整,由此避免在内存碎片化发生时进行耗时的内存重整,从而提升用户体验。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (11)

1.一种内存重整方法,应用于电子设备,其特征在于,所述方法包括:
对内存分配情况进行检测;
根据检测的内存分配情况判断是否满足预先重整条件;
在所述内存分配情况满足预先重整条件时,进行内存预先重整。
2.根据权利要求1所述的方法,其特征在于,所述电子设备的内存包括可移动类型的内存分区、可回收类型的内存分区及不可移动类型的内存分区,每个内存分区包括多个内存块,所述对内存分配情况进行检测的步骤包括:
对所述可移动类型的内存分区、可回收类型的内存分区及不可移动类型的内存分区的内存块分配情况进行检测。
3.根据权利要求1或2所述的方法,其特征在于,所述根据检测的内存分配情况判断是否满足预先重整条件的步骤包括:
根据检测到的可移动类型的内存分区、可回收类型的内存分区及不可移动类型的内存分区的内存块的分配情况判断是否满足预先重整条件。
4.根据权利要求3所述的方法,其特征在于,所述根据检测到的可移动类型的内存分区、可回收类型的内存分区及不可移动类型的内存分区的内存块的分配情况判断是否满足预先重整条件的步骤包括:
判断可移动类型的内存分区的内存块或可回收类型的内存分区的内存块是否被借用;
如果被借用,则判断被借用的内存块的容量是否超过预设容量阈值;
若超过预设容量阈值,则判断与被借用的内存块容量相同的可用内存块的数量是否小于预设数量;
在与被借用的内存块容量相同的可用内存块的数量小于预设数量时,判定所述内存块的分配情况满足预先重整条件。
5.根据权利要求1所述的方法,其特征在于,所述在所述内存分配情况满足预先重整条件时,进行内存预先重整的步骤包括:
在所述内存分配情况满足预先重整条件时,进行非阻塞的内存重整。
6.一种内存重整装置,应用于电子设备,其特征在于,所述装置包括:
检测模块,用于对内存分配情况进行检测;
判断模块,用于根据检测的内存分配情况判断是否满足预先重整条件;
重整模块,用于在所述内存分配情况满足预先重整条件时,进行内存预先重整。
7.根据权利要求6所述的装置,其特征在于,所述电子设备的内存包括可移动类型的内存分区、可回收类型的内存分区及不可移动类型的内存分区,每个内存分区包括多个内存块,所述检测模块对内存分配情况进行检测的方式包括:
对所述可移动类型的内存分区、可回收类型的内存分区及不可移动类型的内存分区的内存块分配情况进行检测。
8.根据权利要求6或7所述的装置,其特征在于,所述判断模块包括判断子模块,用于根据检测到的可移动类型的内存分区、可回收类型的内存分区及不可移动类型的内存分区的内存块的分配情况判断是否满足预先重整条件。
9.根据权利要求8所述的装置,其特征在于,所述判断子模块根据检测到的可移动类型的内存分区、可回收类型的内存分区及不可移动类型的内存分区的内存块的分配情况判断是否满足预先重整条件的方式包括:
判断可移动类型的内存分区的内存块或可回收类型的内存分区的内存块是否被借用;
如果被借用,则判断被借用的内存块的容量是否超过预设容量阈值;
若超过预设容量阈值,则判断与被借用的内存块容量相同的可用内存块的数量是否小于预设数量;
在与被借用的内存块容量相同的可用内存块的数量小于预设数量时,判定所述内存块的分配情况满足预先重整条件。
10.一种电子设备,其特征在于,所述电子设备包括:
存储器;
处理器;及
内存重整装置,所述内存重整装置安装于所述存储器中并包括一个或多个由所述处理器执行的软件功能模块,所述装置包括:
检测模块,用于对内存分配情况进行检测;
判断模块,用于根据检测的内存分配情况判断是否满足预先重整条件;
重整模块,用于在所述内存分配情况满足预先重整条件时,进行内存预先重整。
11.一种可读存储介质,所述可读存储介质包括计算机程序,其特征在于,
所述计算机程序运行时所述可读存储介质所在电子设备执行权利要求1-5中任意一项所述的内存重整方法。
CN201710457641.3A 2017-06-16 2017-06-16 内存重整方法、装置、电子设备及可读存储介质 Active CN107193753B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201710457641.3A CN107193753B (zh) 2017-06-16 2017-06-16 内存重整方法、装置、电子设备及可读存储介质
PCT/CN2018/090695 WO2018228344A1 (zh) 2017-06-16 2018-06-11 内存重整方法、装置、电子设备及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710457641.3A CN107193753B (zh) 2017-06-16 2017-06-16 内存重整方法、装置、电子设备及可读存储介质

Publications (2)

Publication Number Publication Date
CN107193753A true CN107193753A (zh) 2017-09-22
CN107193753B CN107193753B (zh) 2020-08-04

Family

ID=59878565

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710457641.3A Active CN107193753B (zh) 2017-06-16 2017-06-16 内存重整方法、装置、电子设备及可读存储介质

Country Status (2)

Country Link
CN (1) CN107193753B (zh)
WO (1) WO2018228344A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108132889A (zh) * 2017-12-20 2018-06-08 东软集团股份有限公司 内存管理方法、装置、计算机可读存储介质及电子设备
WO2018228344A1 (zh) * 2017-06-16 2018-12-20 深圳市万普拉斯科技有限公司 内存重整方法、装置、电子设备及可读存储介质
CN110609748A (zh) * 2019-09-05 2019-12-24 青岛海信移动通信技术股份有限公司 一种内存分配方法、电子设备及存储介质
CN112765917A (zh) * 2021-01-08 2021-05-07 华东师范大学 基于内存回收方案的非阻塞算法的形式化验证方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060173939A1 (en) * 2005-01-31 2006-08-03 Baolin Yin Garbage collection and compaction
CN101221536A (zh) * 2008-01-25 2008-07-16 中兴通讯股份有限公司 嵌入式系统的内存管理方法及装置
GB2466264A (en) * 2008-12-17 2010-06-23 Symbian Software Ltd Memory defragmentation and compaction into high priority memory banks
CN102156675A (zh) * 2010-02-12 2011-08-17 中兴通讯股份有限公司 一种内存分配方法及装置
CN106708746A (zh) * 2016-12-30 2017-05-24 郑州云海信息技术有限公司 一种在线内存碎片整理方法和装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102915276B (zh) * 2012-09-25 2015-06-03 武汉邮电科学研究院 一种用于嵌入式系统的内存控制方法
US9691503B2 (en) * 2014-03-28 2017-06-27 Lenovo (Singapore) Pte. Ltd. Allocation technique for memory diagnostics
CN105975398A (zh) * 2015-12-07 2016-09-28 国家电网公司 一种内存碎片管理方法
CN107193753B (zh) * 2017-06-16 2020-08-04 深圳市万普拉斯科技有限公司 内存重整方法、装置、电子设备及可读存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060173939A1 (en) * 2005-01-31 2006-08-03 Baolin Yin Garbage collection and compaction
CN101221536A (zh) * 2008-01-25 2008-07-16 中兴通讯股份有限公司 嵌入式系统的内存管理方法及装置
GB2466264A (en) * 2008-12-17 2010-06-23 Symbian Software Ltd Memory defragmentation and compaction into high priority memory banks
CN102156675A (zh) * 2010-02-12 2011-08-17 中兴通讯股份有限公司 一种内存分配方法及装置
CN106708746A (zh) * 2016-12-30 2017-05-24 郑州云海信息技术有限公司 一种在线内存碎片整理方法和装置

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018228344A1 (zh) * 2017-06-16 2018-12-20 深圳市万普拉斯科技有限公司 内存重整方法、装置、电子设备及可读存储介质
CN108132889A (zh) * 2017-12-20 2018-06-08 东软集团股份有限公司 内存管理方法、装置、计算机可读存储介质及电子设备
CN108132889B (zh) * 2017-12-20 2020-07-10 东软集团股份有限公司 内存管理方法、装置、计算机可读存储介质及电子设备
CN110609748A (zh) * 2019-09-05 2019-12-24 青岛海信移动通信技术股份有限公司 一种内存分配方法、电子设备及存储介质
CN110609748B (zh) * 2019-09-05 2023-09-01 青岛海信移动通信技术有限公司 一种内存分配方法、电子设备及存储介质
CN112765917A (zh) * 2021-01-08 2021-05-07 华东师范大学 基于内存回收方案的非阻塞算法的形式化验证方法
CN112765917B (zh) * 2021-01-08 2022-07-08 华东师范大学 基于内存回收方案的非阻塞算法的形式化验证方法

Also Published As

Publication number Publication date
WO2018228344A1 (zh) 2018-12-20
CN107193753B (zh) 2020-08-04

Similar Documents

Publication Publication Date Title
CN107193753A (zh) 内存重整方法、装置、电子设备及可读存储介质
US8656194B2 (en) Method and system for distributing power to networked devices
CN107203477A (zh) 内存分配方法、装置、电子设备及可读存储介质
CN101267334B (zh) 一种动态分配设备的方法及装置
CN108462760A (zh) 电子装置、集群访问域名自动生成方法及存储介质
CN108683604A (zh) 并发访问控制方法、终端设备及介质
CN109815162A (zh) 内存管理方法、装置、移动终端及存储介质
CN110166280B (zh) 一种网络扩容方法和装置
CN109684073A (zh) 电子装置、云服务资源分配方法及存储介质
CN107205030A (zh) 服务器资源调度方法及系统
CN103336708B (zh) 聚合网卡资源的方法和相关设备及计算机系统
CN108874544A (zh) 一种gpu服务器io资源分配的方法及系统
CN109309735B (zh) 连接处理方法、服务器、系统及存储介质
CN109918203A (zh) 接入服务器内存管理优化方法、接入服务器及通信系统
CN104243531A (zh) 一种数据处理的方法、装置及系统
CN104123188B (zh) 一种资源分配方法及相关装置
CN113361913A (zh) 一种通信业务编排方法、装置、计算机设备及存储介质
CN106354354A (zh) 电容式触摸屏的控制方法、装置及终端设备
CN115794423B (zh) 一种智能机房的管理方法、装置、电子设备及存储介质
CN108833528A (zh) 一种云平台集群调度方法和装置
CN109191114A (zh) 一种基于otp动态口令的充电方法、装置及终端设备
CN115102863A (zh) Dpu硬件资源池动态配置的方法以及装置
EP3640806B1 (en) Memory block type processing method, device, electronic device, and readable storage medium
CN111131473B (zh) 一种网络参数的传输方法及装置
CN106411567A (zh) 一种服务器自动控制可负载客户端数量的方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant