CN112612573A - 一种基于资源监控的内存分配方法及装置 - Google Patents
一种基于资源监控的内存分配方法及装置 Download PDFInfo
- Publication number
- CN112612573A CN112612573A CN202011495665.6A CN202011495665A CN112612573A CN 112612573 A CN112612573 A CN 112612573A CN 202011495665 A CN202011495665 A CN 202011495665A CN 112612573 A CN112612573 A CN 112612573A
- Authority
- CN
- China
- Prior art keywords
- memory
- server
- allocation
- state
- allocated
- 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
- 230000015654 memory Effects 0.000 title claims abstract description 281
- 238000000034 method Methods 0.000 title claims abstract description 56
- 238000012544 monitoring process Methods 0.000 title claims abstract description 34
- 230000008569 process Effects 0.000 claims abstract description 22
- 230000008859 change Effects 0.000 claims abstract description 10
- 238000004590 computer program Methods 0.000 claims description 9
- 238000012545 processing Methods 0.000 claims description 6
- 238000007726 management method Methods 0.000 description 9
- 230000007246 mechanism Effects 0.000 description 9
- 230000006870 function Effects 0.000 description 5
- 230000008713 feedback mechanism Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000007547 defect Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000011176 pooling Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007717 exclusion Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000004064 recycling Methods 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45583—Memory management, e.g. access or allocation
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明提供了一种基于资源监控的内存分配方法及装置,该方法包括:周期性地获取服务器集群中每个服务器的状态,服务器集群中的每个服务器安装有守护进程,守护进程用于管理端获取服务器的状态;内存分配器根据每个服务器的状态和预分配内存集分配内存;服务器的状态包括服务器的内存使用情况,根据上次与当次的内存使用情况确定内存的变化,在内存统计时,更新内存分配器中的预分配内存集,以回收预分配内存。本申请增加了大批量启动虚拟机的效率。
Description
技术领域
本发明涉及一种虚拟化服务,尤其涉及一种基于资源监控的内存分配方法及装置,属于云计算系统领域。
背景技术
在集群虚拟化中,为了使资源最合理利用,在启动虚拟机时,应该选择一个资源最赋闲的服务器来启动虚拟机,而一般内存是虚拟化的核心,所以分配的时候以内存为主。
传统的分配方式是根据现在的虚拟化的内存情况,增加一个内存总锁,每当虚拟机要获取内存资源时,获取总锁,然后经过权重算法算出最优的物理机,启动虚拟机,更改内存,释放总锁。传统实现方式有一个比较大的缺陷,由于虚拟机启动需要一定的时间,所以使用锁的时间会很长,再加上锁的串行性,导致大批量启动虚拟机(暴风启动)时,虚拟机的启动会非常慢,总时间也会非常长。
发明内容
为了解决目前大批量启动虚拟机(暴风启动)时,虚拟机的启动会非常慢,总时间也会非常长的问题,本申请实施例提供了一种基于资源监控的内存分配方法及装置。
第一方面,本申请实施例提供了一种基于资源监控的内存分配方法,包括:
周期性地获取服务器集群中每个服务器的状态,所述服务器集群中的每个服务器安装有守护进程,所述守护进程用于管理端获取服务器的状态;
内存分配器根据每个服务器的状态和预分配内存集分配内存;
所述服务器的状态包括服务器的内存使用情况,根据上次与当次的内存使用情况确定内存的变化,在内存统计时,更新内存分配器中的预分配内存集,以回收预分配内存。
其中,还包括:
记录第一虚拟机预分配内存的分配时间;
检测第一虚拟机是否正常启动,如果没有正常启动,所述第一虚拟机的预分配内存在预设期限后自动回收,所述预设期限自所述第一虚拟机预分配内存的分配时间开始计算。
其中,获取服务器集群中每个服务器的状态,包括:
采用并发的方式获取服务器集群中每个服务器的状态。
其中,所述内存分配器根据每个服务器的状态和预分配内存集分配内存,包括:
使用读写锁来实现内存分配器中的锁;
进入锁以后,根据预分配内存和获取的服务器的状态中内存使用情况,计算每个服务器上剩余多少内存;
根据申请的内存数、每个服务器上的内存权重,选择符合预设条件的服务器;
选择完符合预设条件的服务器后,内存分配器在预分配内存集增加当次内存的信息,内存分配器完成内存分配。
第二方面,本申请提供了一种基于资源监控的内存分配装置,包括:
获取单元,用于周期性地获取服务器集群中每个服务器的状态,所述服务器集群中的每个服务器安装有守护进程,所述守护进程用于管理端获取服务器的状态;
内存分配器,用于根据每个服务器的状态和预分配内存集分配内存;
更新单元,用于所述服务器的状态包括服务器的内存使用情况,根据上次与当次的内存使用情况确定内存的变化,在内存统计时,更新内存分配器中的预分配内存集,以回收预分配内存。
其中,还包括自过期单元,用于:
记录第一虚拟机预分配内存的分配时间;
检测第一虚拟机是否正常启动,如果没有正常启动,所述第一虚拟机的预分配内存在预设期限后自动回收,所述预设期限自所述第一虚拟机预分配内存的分配时间开始计算。
其中,所述获取单元,用于:
采用并发的方式获取服务器集群中每个服务器的状态。
其中,所述内存分配器用于:
使用读写锁来实现内存分配器中的锁;
进入锁以后,根据预分配内存和获取的服务器的状态中内存使用情况,计算每个服务器上剩余多少内存;
根据申请的内存数、每个服务器上的内存权重,选择符合预设条件的服务器;
选择完符合预设条件的服务器后,内存分配器在预分配内存集增加当次内存的信息,内存分配器完成内存分配。
第三方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述任一项所述方法的步骤。
第四方面,本申请实施例提供了一种服务器,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述任一项所述方法的步骤。
本申请实施例基于资源监控的内存分配方法及装置具有如下有益效果:
本申请基于资源监控的内存分配方法包括:周期性地获取服务器集群中每个服务器的状态,服务器集群中的每个服务器安装有守护进程,守护进程用于管理端获取服务器的状态;内存分配器根据每个服务器的状态和预分配内存集分配内存;服务器的状态包括服务器的内存使用情况,根据上次与当次的内存使用情况确定内存的变化,在内存统计时,更新内存分配器中的预分配内存集,以回收预分配内存。本申请增加了大批量启动虚拟机的效率。
附图说明
图1为本申请实施例基于资源监控的内存分配方法流程示意图;
图2为本申请实施例基于资源监控的内存分配方法另一种流程示意图;
图3为本申请实施例基于资源监控的内存分配装置的结构示意图;
图4为本申请实施例服务器的结构示意图。
具体实施方式
下面结合附图和实施例对本申请进行进一步的介绍。
在下述介绍中,术语“第一”、“第二”仅为用于描述的目的,而不能理解为指示或暗示相对重要性。下述介绍提供了本发明的多个实施例,不同实施例之间可以替换或者合并组合,因此本申请也可认为包含所记载的相同和/或不同实施例的所有可能组合。因而,如果一个实施例包含特征A、B、C,另一个实施例包含特征B、D,那么本申请也应视为包括含有A、B、C、D的一个或多个所有其他可能的组合的实施例,尽管该实施例可能并未在以下内容中有明确的文字记载。
下面的描述提供了示例,并且不对权利要求书中阐述的范围、适用性或示例进行限制。可以在不脱离本申请内容的范围的情况下,对描述的元素的功能和布置做出改变。各个示例可以适当省略、替代或添加各种过程或组件。例如所描述的方法可以以所描述的顺序不同的顺序来执行,并且可以添加、省略或组合各种步骤。此外,可以将关于一些示例描述的特征组合到其他示例中。
在集群虚拟化中,为了使资源最合理利用,在启动虚拟机时,应该选择一个资源最赋闲的服务器来启动虚拟机,而一般内存是虚拟化的核心,所以分配的时候以内存为主。
传统的分配方式是根据现在的虚拟化的内存情况,增加一个内存总锁,每当虚拟机要获取内存资源时,获取总锁,然后经过权重算法算出最优的物理机,启动虚拟机,更改内存,释放总锁。传统实现方式有一个比较大的缺陷,由于虚拟机启动需要一定的时间,所以使用锁的时间会很长,再加上锁的串行性,导致大批量启动虚拟机(暴风启动)时,虚拟机的启动会非常慢,总时间也会非常长。
为了解决传统实现上的缺陷,提高暴风启动的效率,本发明通过发现核心点是请求资源和启动虚拟机两者是互斥的关系,通过预分配先占用资源释放锁,而后通过监控来验证预分配的正确性,从而来实现请求资源和使用资源的并发,增加暴风启动的效率。
如图1-2所示,本申请基于资源监控的内存分配方法包括步骤:S101,周期性地获取服务器集群中每个服务器的状态,服务器集群中的每个服务器安装有守护进程,守护进程用于管理端获取服务器的状态;S103,内存分配器根据每个服务器的状态和预分配内存集分配内存;S105,服务器的状态包括服务器的内存使用情况,根据上次与当次的内存使用情况确定内存的变化,在内存统计时,更新内存分配器中的预分配内存集,以回收预分配内存。下面介绍每一步骤。
S101,周期性地获取服务器集群中每个服务器的状态,服务器集群中的每个服务器安装有守护进程,守护进程用于管理端获取服务器的状态。
本步骤中,采用并发的方式获取服务器集群中每个服务器的状态。服务器集群监控:首先必须有一个稳定的定时获取监控信息的方式,参考传统的互联网方式,本发明在此点使用C/S(client/server)架构。在每个服务器上安装守护进程,管理端可以实时获取每个服务器上的状态。管理端使用定时任务实现资源获取,为了增加获取的准确性,减少信息单周期获取的时间,采用并发的方式获取资源的情况。获取资源集后,会在同一个时间点更新所有的服务器内存。
S103,内存分配器根据每个服务器的状态和预分配内存集分配内存。
在一些实施例中,本步骤包括使用读写锁来实现内存分配器中的锁;进入锁以后,根据预分配内存和获取的服务器的状态中内存使用情况,计算每个服务器上剩余多少内存;根据申请的内存数、每个服务器上的内存权重,选择符合预设条件的服务器;选择完符合预设条件的服务器后,内存分配器在预分配内存集增加当次内存的信息,内存分配器完成内存分配。
内存分配器:内存分配的依据主要有两方面,一方面是监控的信息,另一方面就是内存分配器中的预分配内存集。由于内存分配器要供多个受用客户端访问,并且要保证内存分配的唯一性,所以内存分配器需要实现就是锁机制,本发明使用大的读写锁来实现内存分配器中的锁。进入锁以后,会有一个预分配内存和已有监控内存做合并,来算出每个服务器上理论上还剩余多少内存,本发明还有个细节,内存的最优集采用的是百分比权重实现,即百分比内存使用越低,认为最优。在根据现有要申请的内存数,以及每个机器上的内存权重,选择出最优机器。当选择完最优机器后,内存分配器会在预分配内存集增加当次内存的信息。完成上述所有问题后,内存分配器完成内存分配。
S105,服务器的状态包括服务器的内存使用情况,根据上次与当次的内存使用情况确定内存的变化,在内存统计时,更新内存分配器中的预分配内存集,以回收预分配内存。
在一些实施例中,本发明还包括:记录第一虚拟机预分配内存的分配时间;检测第一虚拟机是否正常启动,如果没有正常启动,第一虚拟机的预分配内存在预设期限后自动回收,预设期限自第一虚拟机预分配内存的分配时间开始计算。如图2所示,A和B为正常启动的虚拟机,C和D为启动失败的虚拟机,C和D的内存采用自过期机制,在预设期限到达后,C和D的内存自动回收。
关于回收预分配内存的问题,本发明主要通过两种方式:
第一种是通过监控反馈机制完成,当获取服务器信息时,约定服务器会返回当前服务完整的内存使用情况,根据上次与当次的内存使用情况,能清晰的了解内存的变化情况,从而在内存统计的时,去更新内存分配器中的预分配内存集,以达到回收预分配内存的目的。
第二种是通过预分配内存自过期机制,由于预分配内存是提前预留,但在实际监控反馈后,其实新的内存机制已经已知,照理应该清空所有的预分配。但是实际情况中由于多线程的存在,统计和分配可能是同时进行,所以无法清空所有预分配,所以反馈机制只清空已知的预分配。实际情况可能出现两种情况:一种是正在使用,可以通过下次的反馈再修正。一种是使用失败,这里就必须使用自过期机制来实现。自过期机制本质上就是当预分配内存分配以后,认为在一定时间内会被反馈机制回收。如果没有回收,认为可以自回收。通过记录预分配内存的分配时间,可以很简单的实现自过期机制。自过期机制很好的把需要处理很多内存分配以后的异常情况做了统一出来,极大的减少了实际架构中情况的判断和处理,简化了编程的模型。
本申请基于资源监控的内存分配方法,主要用于含一台以上的服务器形成的池化内存资源,当任意一个受用客户端申请内存资源,对于可用资源服务器的选择,内存的预分配,监控确定和预分配回收的过程。本申请中:
服务器集群统计进程:固定间隔的获取服务器的内存资源的信息,统计服务器集群池化总内存,多线程并发获取服务器信息,使得获取时间大大缩短;使用统一更新,在获取所有信息后再统一更新信息。
受用客户端:任何需要使用内存资源的进程。
内存分配器:受用客户端可以通过内存分配器来获取池化资源,内存只能允许单个客户端获取,但是能保证获取的效率。
本申请中,在每个服务器上安装实时监控进程,并通过私有协议汇总到总控服务器上。根据实时池化资源情况,以及自选的选择算法来选择合适的内存块分配给受用客户端,并且需要记录预分配的内存以及此内存的分配时间。
本申请中基于资源监控的反馈机制,来真实分配和回收实际的内存,通过监控的实时情况加上内存分配的预分配情况,来清空或使用预分配内存。
本发明提出了一种基于资源监控的内存分配方式,主要用于含一台以上的服务器形成的池化内存资源,当任意一个受用客户端申请内存资源,对于可用资源服务器的选择,内存的预分配,监控确定和预分配回收的过程。即资源池会定时收集内存资源的使用情况,当受用客户端申请内存资源,进入资源申请工厂,工厂会根据当前的内存使用情况进行预分配,预分配后会立即释放工厂;定时资源收集器会收集每次的内存真实使用状态,对于真实申请完的受用客户端,释放多余的内存;对于已经申请成功的但没有真正使用内存的受用客户端,通过自动过期机制回收内存资源。本申请能够在保证内存资源分配正确的情况下,有效的减少受用客户端的申请资源的时间,从而增加单位时间受用客户端申请内存资源的效率。
如图3所示,本申请一种基于资源监控的内存分配装置,包括:
获取单元201,用于周期性地获取服务器集群中每个服务器的状态,服务器集群中的每个服务器安装有守护进程,守护进程用于管理端获取服务器的状态;
内存分配器202,用于根据每个服务器的状态和预分配内存集分配内存;
更新单元203,用于服务器的状态包括服务器的内存使用情况,根据上次与当次的内存使用情况确定内存的变化,在内存统计时,更新内存分配器中的预分配内存集,以回收预分配内存。
其中,还包括自过期单元,用于:
记录第一虚拟机预分配内存的分配时间;
检测第一虚拟机是否正常启动,如果没有正常启动,第一虚拟机的预分配内存在预设期限后自动回收,预设期限自第一虚拟机预分配内存的分配时间开始计算。
其中,获取单元,用于:
采用并发的方式获取服务器集群中每个服务器的状态。
其中,内存分配器用于:
使用读写锁来实现内存分配器中的锁;
进入锁以后,根据预分配内存和获取的服务器的状态中内存使用情况,计算每个服务器上剩余多少内存;
根据申请的内存数、每个服务器上的内存权重,选择符合预设条件的服务器;
选择完符合预设条件的服务器后,内存分配器在预分配内存集增加当次内存的信息,内存分配器完成内存分配
本申请中,基于资源监控的内存分配装置实施例与基于资源监控的内存分配方法实施例基本相似,相关之处请参考基于资源监控的内存分配方法实施例的介绍。
本领域的技术人员可以清楚地了解到本发明实施例的技术方案可借助软件和/或硬件来实现。本说明书中的“单元”和“模块”是指能够独立完成或与其他部件配合完成特定功能的软件和/或硬件,其中硬件例如可以是FPGA(Field-Programmable Gate Array,现场可编程门阵列)、IC(Integrated Circuit,集成电路)等。
本发明实施例的各处理单元和/或模块,可通过实现本发明实施例所述的功能的模拟电路而实现,也可以通过执行本发明实施例所述的功能的软件而实现。
本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述基于资源监控的内存分配方法步骤。其中,计算机可读存储介质可以包括但不限于任何类型的盘,包括软盘、光盘、DVD、CD-ROM、微型驱动器以及磁光盘、ROM、RAM、EPROM、EEPROM、DRAM、VRAM、闪速存储器设备、磁卡或光卡、纳米系统(包括分子存储器IC),或适合于存储指令和/或数据的任何类型的媒介或设备。
图4为本申请实施例服务器的结构示意图,如图4所示,本申请服务器包括处理器401、存储器402、输入装置403和输出装置404。处理器401、存储器402、输入装置403和输出装置404可以通过总线405或者其他方式连接。存储器402上存储有计算机程序,该计算机程序可在处理器401上运行,而且处理器401执行程序时实现上述基于资源监控的内存分配方法步骤。
输入装置403可接收输入的数字或字符信息,以及产生与数据处理服务器的用户设置以及功能控制有关的键信号输入,例如触摸屏、小键盘、鼠标、轨迹板、触摸板、指示杆、一个或者多个鼠标按钮、轨迹球、操纵杆等输入装置。输出装置404可以包括显示设备、辅助照明装置(例如,LED)和触觉反馈装置(例如,振动电机)等。显示设备可以包括但不限于,液晶显示器(LCD)、发光二极管(LED)显示器、等离子体显示器和触摸屏。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
在本发明各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
以上介绍仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种基于资源监控的内存分配方法,其特征在于,包括:
周期性地获取服务器集群中每个服务器的状态,所述服务器集群中的每个服务器安装有守护进程,所述守护进程用于管理端获取服务器的状态;
内存分配器根据每个服务器的状态和预分配内存集分配内存;
所述服务器的状态包括服务器的内存使用情况,根据上次与当次的内存使用情况确定内存的变化,在内存统计时,更新内存分配器中的预分配内存集,以回收预分配内存。
2.根据权利要求1所述基于资源监控的内存分配方法,其特征在于,还包括:
记录第一虚拟机预分配内存的分配时间;
检测第一虚拟机是否正常启动,如果没有正常启动,所述第一虚拟机的预分配内存在预设期限后自动回收,所述预设期限自所述第一虚拟机预分配内存的分配时间开始计算。
3.根据权利要求1或2所述基于资源监控的内存分配方法,其特征在于,获取服务器集群中每个服务器的状态,包括:
采用并发的方式获取服务器集群中每个服务器的状态。
4.根据权利要求1或2所述基于资源监控的内存分配方法,其特征在于,所述内存分配器根据每个服务器的状态和预分配内存集分配内存,包括:
使用读写锁来实现内存分配器中的锁;
进入锁以后,根据预分配内存和获取的服务器的状态中内存使用情况,计算每个服务器上剩余多少内存;
根据申请的内存数、每个服务器上的内存权重,选择符合预设条件的服务器;
选择完符合预设条件的服务器后,内存分配器在预分配内存集增加当次内存的信息,内存分配器完成内存分配。
5.一种基于资源监控的内存分配装置,其特征在于,包括:
获取单元,用于周期性地获取服务器集群中每个服务器的状态,所述服务器集群中的每个服务器安装有守护进程,所述守护进程用于管理端获取服务器的状态;
内存分配器,用于根据每个服务器的状态和预分配内存集分配内存;
更新单元,用于所述服务器的状态包括服务器的内存使用情况,根据上次与当次的内存使用情况确定内存的变化,在内存统计时,更新内存分配器中的预分配内存集,以回收预分配内存。
6.根据权利要求5所述基于资源监控的内存分配装置,其特征在于,还包括自过期单元,用于:
记录第一虚拟机预分配内存的分配时间;
检测第一虚拟机是否正常启动,如果没有正常启动,所述第一虚拟机的预分配内存在预设期限后自动回收,所述预设期限自所述第一虚拟机预分配内存的分配时间开始计算。
7.根据权利要求5或6所述基于资源监控的内存分配装置,其特征在于,所述获取单元,用于:
采用并发的方式获取服务器集群中每个服务器的状态。
8.根据权利要求5或6所述基于资源监控的内存分配装置,其特征在于,所述内存分配器用于:
使用读写锁来实现内存分配器中的锁;
进入锁以后,根据预分配内存和获取的服务器的状态中内存使用情况,计算每个服务器上剩余多少内存;
根据申请的内存数、每个服务器上的内存权重,选择符合预设条件的服务器;
选择完符合预设条件的服务器后,内存分配器在预分配内存集增加当次内存的信息,内存分配器完成内存分配。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现所述权利要求1-4中任一项所述方法的步骤。
10.一种服务器,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现所述权利要求1-4中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011495665.6A CN112612573A (zh) | 2020-12-17 | 2020-12-17 | 一种基于资源监控的内存分配方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011495665.6A CN112612573A (zh) | 2020-12-17 | 2020-12-17 | 一种基于资源监控的内存分配方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112612573A true CN112612573A (zh) | 2021-04-06 |
Family
ID=75240086
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011495665.6A Pending CN112612573A (zh) | 2020-12-17 | 2020-12-17 | 一种基于资源监控的内存分配方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112612573A (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102193814A (zh) * | 2010-03-09 | 2011-09-21 | 上海拜翰网络科技有限公司 | 嵌入式虚拟化内存动态分配方法及系统 |
CN102946413A (zh) * | 2012-10-17 | 2013-02-27 | 北京搜狐新媒体信息技术有限公司 | 虚拟机调度和执行部署过程中的资源预处理方法及系统 |
CN104239225A (zh) * | 2014-09-04 | 2014-12-24 | 浪潮(北京)电子信息产业有限公司 | 一种管理异构混合内存的方法及装置 |
CN105630694A (zh) * | 2015-12-28 | 2016-06-01 | 创新科存储技术(深圳)有限公司 | 控制内存的回收方法和装置 |
CN107741876A (zh) * | 2017-10-27 | 2018-02-27 | 郑州云海信息技术有限公司 | 一种虚拟机进程监控系统及方法 |
CN109445927A (zh) * | 2018-11-12 | 2019-03-08 | 郑州云海信息技术有限公司 | 一种存储集群的任务管理方法及装置 |
CN109522123A (zh) * | 2018-11-16 | 2019-03-26 | 苏州蓝石新动力有限公司 | 一种内存管理的方法及装置 |
CN110795203A (zh) * | 2018-08-03 | 2020-02-14 | 阿里巴巴集团控股有限公司 | 资源调度方法、装置、系统和计算设备 |
CN111506436A (zh) * | 2020-03-25 | 2020-08-07 | 炬星科技(深圳)有限公司 | 实现内存共享的方法、电子设备和共享内存数据管理库 |
-
2020
- 2020-12-17 CN CN202011495665.6A patent/CN112612573A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102193814A (zh) * | 2010-03-09 | 2011-09-21 | 上海拜翰网络科技有限公司 | 嵌入式虚拟化内存动态分配方法及系统 |
CN102946413A (zh) * | 2012-10-17 | 2013-02-27 | 北京搜狐新媒体信息技术有限公司 | 虚拟机调度和执行部署过程中的资源预处理方法及系统 |
CN104239225A (zh) * | 2014-09-04 | 2014-12-24 | 浪潮(北京)电子信息产业有限公司 | 一种管理异构混合内存的方法及装置 |
CN105630694A (zh) * | 2015-12-28 | 2016-06-01 | 创新科存储技术(深圳)有限公司 | 控制内存的回收方法和装置 |
CN107741876A (zh) * | 2017-10-27 | 2018-02-27 | 郑州云海信息技术有限公司 | 一种虚拟机进程监控系统及方法 |
CN110795203A (zh) * | 2018-08-03 | 2020-02-14 | 阿里巴巴集团控股有限公司 | 资源调度方法、装置、系统和计算设备 |
CN109445927A (zh) * | 2018-11-12 | 2019-03-08 | 郑州云海信息技术有限公司 | 一种存储集群的任务管理方法及装置 |
CN109522123A (zh) * | 2018-11-16 | 2019-03-26 | 苏州蓝石新动力有限公司 | 一种内存管理的方法及装置 |
CN111506436A (zh) * | 2020-03-25 | 2020-08-07 | 炬星科技(深圳)有限公司 | 实现内存共享的方法、电子设备和共享内存数据管理库 |
Non-Patent Citations (1)
Title |
---|
崔征;: "虚拟化技术在高校数据中心的应用", 河北公安警察职业学院学报, no. 02 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11561841B2 (en) | Managing partitions in a scalable environment | |
CN109684307B (zh) | 一种数据存储方法、装置、设备及存储介质 | |
JP6455035B2 (ja) | 負荷分散管理装置、制御方法およびプログラム | |
CN102346460B (zh) | 一种基于事务的服务控制系统及其控制方法 | |
CN110941481A (zh) | 资源调度方法、装置及系统 | |
US8560524B2 (en) | Allocating priorities to prevent deadlocks in a storage system | |
US20220058104A1 (en) | System and method for database replication benchmark testing using a pipeline-based microservices model | |
US10310900B2 (en) | Operating programs on a computer cluster | |
US8572611B2 (en) | Managing conflicts between multiple users accessing a computer system having shared resources assigned to one or more logical partitions and one or more appliance partitions | |
CN111399970B (zh) | 一种预留资源管理方法、装置和存储介质 | |
CN110458468A (zh) | 一种任务处理方法、装置、电子设备及存储介质 | |
CN113064744A (zh) | 任务处理方法、装置、计算机可读介质及电子设备 | |
CN112052068A (zh) | 一种Kubernetes容器平台CPU绑核的方法与装置 | |
CN111897558A (zh) | 容器集群管理系统Kubernetes升级方法和装置 | |
CN111722928A (zh) | 一种资源调度方法、装置、电子设备及存储介质 | |
CN102946413B (zh) | 虚拟机调度和执行部署过程中的资源预处理方法及系统 | |
CN110018883A (zh) | 一种虚拟机删除方法、装置、设备及存储介质 | |
CN112153167A (zh) | 网际互连协议管理方法、装置、电子设备及存储介质 | |
US11500663B1 (en) | Predictive virtual machine launch-based capacity management | |
US20230308342A1 (en) | Network service management apparatus and network service management method | |
CN112612573A (zh) | 一种基于资源监控的内存分配方法及装置 | |
CN109639460A (zh) | Nfv资源管理的方法和装置 | |
CN111198755B (zh) | 一种基于slurm作业调度系统的预计费装置和方法 | |
CN115834600B (zh) | 一种多云纳管数据同步方法、装置、电子设备和存储介质 | |
CN111966481A (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 |