CN110990114A - 一种虚拟机资源分配方法、装置、设备及可读存储介质 - Google Patents
一种虚拟机资源分配方法、装置、设备及可读存储介质 Download PDFInfo
- Publication number
- CN110990114A CN110990114A CN201911089891.1A CN201911089891A CN110990114A CN 110990114 A CN110990114 A CN 110990114A CN 201911089891 A CN201911089891 A CN 201911089891A CN 110990114 A CN110990114 A CN 110990114A
- Authority
- CN
- China
- Prior art keywords
- virtual machine
- memory
- cpu
- target
- cpus
- 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
- 238000000034 method Methods 0.000 title claims abstract description 77
- 238000013468 resource allocation Methods 0.000 title claims abstract description 45
- 230000015654 memory Effects 0.000 claims abstract description 212
- 238000013507 mapping Methods 0.000 claims description 28
- 238000007726 management method Methods 0.000 claims description 18
- 238000004590 computer program Methods 0.000 claims description 12
- 230000009286 beneficial effect Effects 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 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/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- 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/45562—Creating, deleting, cloning virtual machine instances
-
- 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/4557—Distribution of virtual machine instances; Migration and load balancing
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种虚拟机资源分配方法,包括:获取并解析用于创建目标虚拟机的创建指令,得到资源申请信息;根据资源申请信息中的CPU申请数,从CPU预留区中获取CPU申请数个预留CPU,并将预留CPU调整为目标CPU;根据资源申请信息为目标虚拟机分配目标内存,并利用目标CPU和目标内存运行目标虚拟机;该方法为新创建的目标虚拟机分配固定的目标CPU用于运行,可以防止虚拟机在运行时在各个CPU间切换,避免了CPU切换过程中的上下文切换,同时还避免了切换过程中临界噪音的干扰,提升了整个虚拟机的性能;此外,本发明还提供了一种虚拟机资源分配装置、设备及计算机可读存储介质,同样具有上述有益效果。
Description
技术领域
本发明涉及虚拟机技术领域,特别涉及一种虚拟机资源分配方法、虚拟机资源分配装置、虚拟机资源分配设备及计算机可读存储介质。
背景技术
虚拟机(Virtual Machine)指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。在实体计算机中能够完成的工作在虚拟机中都能够实现。在计算机中创建虚拟机时,需要将实体机的部分硬盘和内存容量作为虚拟机的硬盘和内存容量。每个虚拟机都有独立的CMOS、硬盘和操作系统,可以像使用实体机一样对虚拟机进行操作。现有技术在CPU虚拟化过程中,即对虚拟机分配CPU的过程中采用分时复用技术,但是CPU分时调度时,即虚拟机在不同的CPU中切换时会产生上下文信息用于上下文切换,同时还容易收到临街噪音干扰,因此现有技术会使得虚拟机CPU性能大幅下降。
因此,如何解决现有技术使得虚拟机CPU性能大幅下降,进而导致虚拟机性能下降的问题,是本领域技术人员需要解决的技术问题。
发明内容
有鉴于此,本发明的目的在于提供一种虚拟机资源分配方法、虚拟机资源分配装置、虚拟机资源分配设备及计算机可读存储介质,解决了现有技术使得虚拟机CPU性能大幅下降,进而导致虚拟机性能下降的问题。
为解决上述技术问题,本发明提供了一种虚拟机资源分配方法,包括:
获取并解析用于创建目标虚拟机的创建指令,得到资源申请信息;
根据所述资源申请信息中的CPU申请数,从CPU预留区中获取所述CPU申请数个预留CPU,并将所述预留CPU调整为目标CPU;
根据所述资源申请信息为所述目标虚拟机分配目标内存,并利用所述目标CPU和所述目标内存运行所述目标虚拟机。
可选的,在所述从CPU预留区中获取所述CPU申请数个预留CPU之前,还包括:
判断所述预留CPU的数量是否大于所述CPU申请数;
若是,则执行所述从CPU预留区中获取所述CPU申请数个预留CPU的操作;
若否,则发送创建失败通知。
可选的,在所述利用所述目标CPU和所述目标内存运行所述目标虚拟机之后,还包括:
当接收到CPU热添加指令时,从所述CPU预留区中获取所述CPU热添加指令指定数量个预留CPU作为热添加CPU;
将所述热添加CPU调整为所述目标CPU。
可选的,所述根据所述资源申请信息为所述目标虚拟机分配目标内存,包括:
利用所述资源申请信息确定所述目标虚拟机的内存值;
从内存预留区的开端按照线性连续的方式获取所述内存值大小的物理内存;
更新内存映射表,将所述物理内存确定为所述目标内存;其中,所述内存映射表为虚拟机应用逻辑地址和物理内存地址的映射表。
可选的,在所述利用所述目标CPU和所述目标内存运行所述目标虚拟机之后,还包括:
当接收到内存热添加指令时,从所述内存预留区的开端按照线性连续的方式获取所述内存热添加指令指定大小的所述物理内存作为热添加内存;
更新所述内存映射表,将所述热添加内存确定为所述目标内存。
可选的,在所述获取并解析用于创建目标虚拟机的创建指令之前,还包括:
获取预设大小的物理内存作为系统管理内存,并将剩余所有的所述物理内存作为预留内存放入所述内存预留区中。
可选的,在所述获取并解析用于创建目标虚拟机的创建指令之前,还包括:
获取预设数量个CPU作为系统管理CPU,并将剩余所有的所述CPU确定为所述预留CPU放入所述CPU预留区中。
本发明还提供了一种虚拟机资源分配装置,包括:
获取模块,用于获取并解析用于创建目标虚拟机的创建指令,得到资源申请信息;
CPU确定模块,用于根据所述资源申请信息中的CPU申请数,从CPU预留区中获取所述CPU申请数个预留CPU,并将所述预留CPU调整为目标CPU;
运行模块,用于根据所述资源申请信息为所述目标虚拟机分配目标内存,并利用所述目标CPU和所述目标内存运行所述目标虚拟机。
本发明还提供了一种虚拟机资源分配设备,包括存储器和处理器,其中:
所述存储器,用于保存计算机程序;
所述处理器,用于执行所述计算机程序,以实现上述的虚拟机资源分配方法。
本发明还提供了一种计算机可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现上述的虚拟机资源分配方法。
本发明提供的虚拟机资源分配方法,获取并解析用于创建目标虚拟机的创建指令,得到资源申请信息。根据资源申请信息中的CPU申请数,从CPU预留区中获取CPU申请数个预留CPU,并将预留CPU调整为目标CPU。根据资源申请信息为目标虚拟机分配目标内存,并利用目标CPU和目标内存运行目标虚拟机。
可见,该方法为新创建的目标虚拟机分配固定的目标CPU用于运行,可以防止虚拟机在运行时在各个CPU间切换,避免了CPU切换过程中的上下文切换,同时还避免了切换过程中临界噪音的干扰,提升了虚拟机的CPU性能,进而提升了整个虚拟机的性能。
此外,本发明还提供了一种虚拟机资源分配装置、虚拟机资源分配设备及计算机可读存储介质,同样具有上述有益效果。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的一种虚拟机资源分配方法流程图;
图2为本发明实施例提供的另一种虚拟机资源分配方法流程图;
图3为本发明实施例提供的一种系统初始化资源分配方法流程图;
图4为本发明实施例提供的一种虚拟机资源分配装置的结构示意图;
图5为本发明实施例提供的一种虚拟机资源分配设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参考图1,图1为本发明实施例提供的一种虚拟机资源分配方法流程图。
该方法包括:
S101:获取并解析用于创建目标虚拟机的创建指令,得到资源申请信息。
由于虚拟机均在物理机上创建并运行,因此可以采用物理机执行本发明提供的虚拟机资源分配方法。创建指令用于创建目标虚拟机,其中包括目标虚拟机的资源申请信息,还可以包括其他信息,例如目标虚拟机的个数等。具体的,一个创建指令可以仅创建一个目标虚拟机;或者一个创建指令可以创建多个相同的目标虚拟机,即各个目标虚拟机对应的资源申请信息相同;或者一个创建指令可以创建多个不同的目标虚拟机,即创建多个资源申请信息不同的目标虚拟机。资源申请信息中可以包括CPU资源申请信息,还可以包括内存资源申请信息和其他资源申请信息,其他资源申请信息中可以包括磁盘资源申请信息等,其具体内容不做限定。
当一个创建指令用于创建多个目标虚拟机时,可以对创建指令进行解析,确定多个目标虚拟机分别对应的资源申请信息,并分别利用各个资源申请信息执行后续步骤,完成多个目标虚拟机的创建操作。
S102:根据资源申请信息中的CPU申请数,从CPU预留区中获取CPU申请数个预留CPU,并将预留CPU调整为目标CPU。
资源申请信息中的CPU申请数即为CPU资源申请信息,其表示了对应的目标虚拟机所申请的CPU个数,CPU申请数必须为正整数。CPU预留区用于存放预留CPU,预留CPU为没有被物理机和任何虚拟机调用的,处于闲置状态的CPU。从CPU预留区中获取对应数量的预留CPU,即获取CPU申请数个预留CPU,并对预留CPU进行设置或调整,使其成为目标CPU,具体的调整方法可以参考相关技术,在此不再赘述。目标CPU用于支持目标虚拟机的运行,本实施例并不限定具体的目标CPU设置方法或调整方法。需要说明的是,将获取的预留CPU调整为目标CPU后,同时还需要对CPU预留区进行更新,将目标CPU所处位置更新为非CPU预留区。本实施例并不限定具体的更新方法,例如可以修改目标CPU所处位置的状态标识,将状态标识从预留区状态修改为非预留区状态。
进一步,在从CPU预留区中获取预留CPU之前,还可以先判断CPU预留区中的预留CPU的数量是否大于CPU申请数,即判断是否有足够的预留CPU用于创建目标虚拟机。当预留CPU的数量大于CPU申请数时,则可以执行从CPU预留区中获取CPU申请数个预留CPU的操作;当预留CPU的数量小于CPU申请数时,则目标虚拟机创建失败,发送创建失败通知,
S103:根据资源申请信息为目标虚拟机分配目标内存,并利用目标CPU和目标内存运行目标虚拟机。
在确定目标CPU之后,利用资源申请信息为目标虚拟机分配其他运算资源。具体的,根据资源申请信息为目标虚拟机分配目标内存,在分配好目标内存后,利用目标CPU和目标内存运行目标虚拟机。本实施例并不限定目标内存的分配方法,例如可以采用动态分配技术为目标虚拟机分配内存;或者可以对物理内存进行划分,将划分得到的物理内存作为目标虚拟机的目标内存。除此之外,还可以资源申请信息为目标虚拟机划分其他计算资源,例如当资源申请信息中包括磁盘资源申请信息时,可以利用磁盘资源申请信息为虚拟机划分磁盘资源。若资源申请信息中没有包括其他计算资源的申请信息时,可以按照预设规则为目标虚拟机划分其他计算资源。
进一步,当用于创建目标虚拟机的内存或其他计算资源不足时,可以发送创建失败通知,以便技术人员及时得知目标虚拟机创建失败,进而采取其他操作。
应用本发明实施例提供的虚拟机资源分配方法,为新创建的目标虚拟机分配固定的目标CPU用于运行,可以防止虚拟机在运行时在各个CPU间切换,即采用分时复用技术时造成虚拟机在各个CPU之间切换,进而避免虚拟机在CPU切换过程中产生上下文切换,影响虚拟机性能。同时,还可以避免切换过程中临界噪音的干扰,提升了虚拟机的CPU性能,进而提升了整个虚拟机的性能。
基于上述实施例,在一种可能的实施方式中,虚拟机在运行过程中需要更多的CPU,即需要对虚拟机进行CPU热添加操作,本实施例将说明一种具体的CPU热添加操作过程,包括:
当接受到CPU热添加指令时,从CPU预留区中获取CPU热添加指令指定数量个预留CPU作为热添加CPU。
CPU热添加指令用于对目标虚拟机的CPU数量进行增加,其具体获取方法本实施例不做限定,例如CPU热添加指令可以由技术人员手动输入;或者可以先获取针对目标虚拟机的资源热添加指令,解析资源热添加指令得到CPU热添加指令,资源热添加指令还可以包括其他指令,例如内存热添加指令或磁盘热添加指令。CPU热添加指令中包括热添加CPU的数量,该数量为正整数。在获取CPU热添加指令之后对其进行解析,并从CPU预留区中获取CPU热添加指令指定数量个预留CPU作为热添加CPU。后续还可以更行CPU预留区,将热添加CPU所处位置调整为非CPU预留区。
进一步,在从CPU预留区中获取预留CPU之前,还可以判断预留CPU的数量是否大于CPU热添加指令指定数量。若预留CPU的数量大于CPU热添加指令指定数量,则指定从CPU预留区中获取CPU热添加指令指定数量个预留CPU作为热添加CPU的操作;若预留CPU的数量小于CPU热添加指令指定数量,则可以发送热添加失败通知。
将热添加CPU调整为目标CPU。
将热添加CPU调整为目标CPU的操作与将S203步骤中将预留CPU调整为目标CPU的操作相同,在此不再赘述。
应用本发明实施例提供的虚拟机资源分配方法,可以在虚拟机运行过程中为虚拟机进行CPU热添加操作,无需将虚拟机关机后重新创建符合计算资源要求的虚拟机,减少了虚拟机计算资源调整所需时间。
基于上述发明实施例,本发明实施例将说明一种具体的目标内存分配方法,即对S103步骤的一种具体实施方法进行说明,请参考图2,图2为本发明实施例提供的另一种虚拟机资源分配方法流程图,包括:
S201:利用资源申请信息确定目标虚拟机的内存值;
在本发明实施例中,资源申请信息还包括目标虚拟机的内存值,在获取资源申请信息后对资源申请信息进行解析,得到目标虚拟机的内存值。
S202:从内存预留区的开端按照线性连续的方式获取内存值大小的物理内存。
在内存预留区中的物理地址均为未被使用过的,处于闲置状态的物理内存。在得到目标虚拟机的内存值后,从内存预留区的开端按照线性连续的方式获取内存值大小的物理内存。具体的,为了使内存地址连续,进而使构建的内存映射表结构简单,可以按照线性连续的方式获取物理内存。例如内存值大小为8G,则可以从内存预留区的开端按照线性连续的方式获取8G大小的物理内存。
进一步,在从内存预留区中获取物理内存之前,可以先判断内存预留区中的物理内存是否大于内存值的大小。若是,则可以执行从内存预留区的开端按照线性连续的方式获取内存值大小的物理内存的操作;若否,则可以输出内存获取失败通知。
S203:更新内存映射表,将物理内存确定为目标内存;其中,内存映射表为虚拟机应用逻辑地址和物理内存地址的映射表。
内存映射表为虚拟机逻辑地址和物理内存地址之间的映射表,虚拟机逻辑地址即为虚拟机在运行过程中内部的内存逻辑地址,由于虚拟机运行时需要利用物理内存来支撑其运行,因此可以利用内存映射表来将虚拟机应用逻辑地址和物理内存地址进行映射。在更新内存映射表后,将物理内存确定为目标内存,即完成目标内存的分配操作。在将物理内存确定为目标内存后,还可以更新内存预留区,将目标内存从内存预留区中去除。
需要说明的是,内存映射表仅包括虚拟机应用逻辑地址和物理内存地址两级地址之间的映射关系。由于现有内存分配方法采用动态分配技术,因此需要现将虚拟机应用逻辑地址与虚拟机内存地址进行映射,再将虚拟机内存地址与物理内存地址进行映射,因此现有技术采用的地址快查表为三级地址之间的映射关系。现有技术采用的地址快查表结构较复杂,因此提高了内存映射寻址的复杂程度,降低了内存的使用效率,本申请采用的内存映射表结构简单,内存映射寻址的复杂程度较低,提高了内存的使用效率,进而提高了虚拟机的性能。
S204:当接受到内存热添加指令时,从内存预留区的开端按照线性连续的方式获取内存热添加指令指定大小的物理内存作为热添加内存。
内存热添加指令用于对目标虚拟机的内存空间进行添加,其具体获取方法本实施例不做限定,例如内存热添加指令可以由技术人员手动输入,或者可以先获取针对目标虚拟机的资源热添加指令,解析资源热添加指令得到内存热添加指令。在获取内存热添加指令后对其解析,并得到热添加内存的大小,即内存热添加指令的指定大小。从内存预留区的开端按照线性连续的方式获取内存热添加指令指定大小的物理内存作为热添加内存。
S205:更新内存映射表,将热添加内存确定为目标内存。
在获取热添加内存后,更新内存映射表,将热添加内存确定为目标内存,以便利用目标内存运行目标虚拟机。
基于上述发明实施例,在创建目标虚拟机之前,还需要对系统进行初始化操作。具体的,可以参考图3,图3为本发明实施例提供的一种系统初始化资源分配方法流程图,包括:
S301:获取预设数量个CPU作为系统管理CPU,并将剩余所有的CPU确定为预留CPU放入CPU预留区中。
预设数量为系统管理CPU的数量,其具体大小本实施例不做限定。在获取并解析用于创建目标虚拟机的创建指令之前,先从所有的CPU中获取预设数量个CPU作为系统管理CPU,系统管理CPU用于支持物理机运行,不用于运行任何虚拟机。在确定系统管理CPU后,将剩余所有的CPU确定为预留CPU,并放入CPU预留区中。
S302:获取预设大小的物理内存作为系统管理内存,并将剩余所有的物理内存作为预留内存放入内存预留区中。
预设大小为系统管理内存的大小,其具体数值本实施例不做限定。在获取并解析用于创建目标虚拟机的创建指令之前,从所有的物理内存中获取预设大小的物理内存并将其确定为系统管理内存,具体的,可以从所有物理内存的开端开始以线性连续的方式获取预设大小的物理内存作为系统管理内存,在获取系统管理内存后,将剩余所有的物理内存确定为预留内存放入内存预留区中。
下面对本发明实施例提供的虚拟机资源分配装置进行介绍,下文描述的虚拟机资源分配装置与上文描述的虚拟机资源分配方法可相互对应参照。
请参考图4,图4为本发明实施例提供的一种虚拟机资源分配装置的结构示意图,包括:
获取模块410,用于获取并解析用于创建目标虚拟机的创建指令,得到资源申请信息;
CPU确定模块420,用于根据资源申请信息中的CPU申请数,从CPU预留区中获取CPU申请数个预留CPU,并将预留CPU调整为目标CPU;
运行模块430,用于根据资源申请信息为目标虚拟机分配目标内存,并利用目标CPU和目标内存运行目标虚拟机。
可选的,还包括:
判断模块,用于判断预留CPU的数量是否大于CPU申请数;
通知模块,用于若预留CPU的数量不大于CPU申请数,则发送创建失败通知;
相应的,CPU确定模块420为当预留CPU的数量大于CPU申请数时执行从CPU预留区中获取CPU申请数个预留CPU的模块。
可选的,还包括:
CPU热添加模块,用于当接收到CPU热添加指令时,从CPU预留区中获取CPU热添加指令指定数量个预留CPU作为热添加CPU;
调整模块,用于将热添加CPU调整为目标CPU。
可选的,运行模块430,包括:
内存值确定单元,用于利用资源申请信息确定目标虚拟机的内存值;
内存获取单元,用于从内存预留区的开端按照线性连续的方式获取内存值大小的物理内存;
映射表更新单元,用于更新内存映射表,将物理内存确定为目标内存;其中,内存映射表为虚拟机应用逻辑地址和物理内存地址的映射表。
可选的,还包括:
内存热添加模块,用于当接收到内存热添加指令时,从内存预留区的开端按照线性连续的方式获取内存热添加指令指定大小的物理内存作为热添加内存;
映射表更新模块,用于更新内存映射表,将热添加内存确定为目标内存。
可选的,还包括:
系统管理内存确定模块,用于获取预设大小的物理内存作为系统管理内存,并将剩余所有的物理内存作为预留内存放入内存预留区中。
可选的,还包括:
系统管理CPU确定模块,用于获取预设数量个CPU作为系统管理CPU,并将剩余所有的CPU确定为预留CPU放入CPU预留区中。
下面对本发明实施例提供的虚拟机资源分配设备进行介绍,下文描述的虚拟机资源分配设备与上文描述的虚拟机资源分配方法可相互对应参照。
请参考图5,图5为本发明实施例提供的一种虚拟机资源分配设备的结构示意图,该虚拟机资源分配设备包括存储器、处理器,其中:
存储器510,用于保存计算机程序;
处理器520,用于执行计算机程序,以实现上述的虚拟机资源分配方法。
下面对本发明实施例提供的计算机可读存储介质进行介绍,下文描述的计算机可读存储介质与上文描述的虚拟机资源分配方法可相互对应参照。
本发明还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述的虚拟机资源分配方法的步骤。
该计算机可读存储介质可以包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应该认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系属于仅仅用来将一个实体或者操作与另一个实体或者操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其他任何变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。
以上对本发明所提供的一种虚拟机资源分配方法、虚拟机资源分配装置、虚拟机资源分配设备及计算机可读存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种虚拟机资源分配方法,其特征在于,包括:
获取并解析用于创建目标虚拟机的创建指令,得到资源申请信息;
根据所述资源申请信息中的CPU申请数,从CPU预留区中获取所述CPU申请数个预留CPU,并将所述预留CPU调整为目标CPU;
根据所述资源申请信息为所述目标虚拟机分配目标内存,并利用所述目标CPU和所述目标内存运行所述目标虚拟机。
2.根据权利要求1所述的虚拟机资源分配方法,其特征在于,在所述从CPU预留区中获取所述CPU申请数个预留CPU之前,还包括:
判断所述预留CPU的数量是否大于所述CPU申请数;
若是,则执行所述从CPU预留区中获取所述CPU申请数个预留CPU的操作;
若否,则发送创建失败通知。
3.根据权利要求1所述的虚拟机资源分配方法,其特征在于,在所述利用所述目标CPU和所述目标内存运行所述目标虚拟机之后,还包括:
当接收到CPU热添加指令时,从所述CPU预留区中获取所述CPU热添加指令指定数量个预留CPU作为热添加CPU;
将所述热添加CPU调整为所述目标CPU。
4.根据权利要求1所述的虚拟机资源分配方法,其特征在于,所述根据所述资源申请信息为所述目标虚拟机分配目标内存,包括:
利用所述资源申请信息确定所述目标虚拟机的内存值;
从内存预留区的开端按照线性连续的方式获取所述内存值大小的物理内存;
更新内存映射表,将所述物理内存确定为所述目标内存;其中,所述内存映射表为虚拟机应用逻辑地址和物理内存地址的映射表。
5.根据权利要求4所述的虚拟机资源分配方法,其特征在于,在所述利用所述目标CPU和所述目标内存运行所述目标虚拟机之后,还包括:
当接收到内存热添加指令时,从所述内存预留区的开端按照线性连续的方式获取所述内存热添加指令指定大小的所述物理内存作为热添加内存;
更新所述内存映射表,将所述热添加内存确定为所述目标内存。
6.根据权利要求5所述的虚拟机资源分配方法,其特征在于,在所述获获取并解析用于创建目标虚拟机的创建指令之前,还包括:
获取预设大小的物理内存作为系统管理内存,并将剩余所有的所述物理内存作为预留内存放入所述内存预留区中。
7.根据权利要求1所述的虚拟机资源分配方法,其特征在于,在所述获取并解析用于创建目标虚拟机的创建指令之前,还包括:
获取预设数量个CPU作为系统管理CPU,并将剩余所有的所述CPU确定为所述预留CPU放入所述CPU预留区中。
8.一种虚拟机资源分配装置,其特征在于,包括:
获取模块,用于获取并解析用于创建目标虚拟机的创建指令,得到资源申请信息;
CPU确定模块,用于根据所述资源申请信息中的CPU申请数,从CPU预留区中获取所述CPU申请数个预留CPU,并将所述预留CPU调整为目标CPU;
运行模块,用于根据所述资源申请信息为所述目标虚拟机分配目标内存,并利用所述目标CPU和所述目标内存运行所述目标虚拟机。
9.一种虚拟机资源分配设备,其特征在于,包括存储器和处理器,其中:
所述存储器,用于保存计算机程序;
所述处理器,用于执行所述计算机程序,以实现如权利要求1至7任一项所述的虚拟机资源分配方法。
10.一种计算机可读存储介质,其特征在于,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的虚拟机资源分配方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911089891.1A CN110990114A (zh) | 2019-11-08 | 2019-11-08 | 一种虚拟机资源分配方法、装置、设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911089891.1A CN110990114A (zh) | 2019-11-08 | 2019-11-08 | 一种虚拟机资源分配方法、装置、设备及可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110990114A true CN110990114A (zh) | 2020-04-10 |
Family
ID=70083859
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911089891.1A Pending CN110990114A (zh) | 2019-11-08 | 2019-11-08 | 一种虚拟机资源分配方法、装置、设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110990114A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112330229A (zh) * | 2020-12-02 | 2021-02-05 | 北京元心科技有限公司 | 资源调度方法、装置、电子设备及计算机可读存储介质 |
WO2021120841A1 (zh) * | 2020-07-20 | 2021-06-24 | 平安科技(深圳)有限公司 | 虚拟机创建及cpu资源分配方法、装置、设备 |
CN113419811A (zh) * | 2021-05-20 | 2021-09-21 | 曙光信息产业股份有限公司 | Cpu添加方法、设备、计算机设备及可读存储介质 |
CN113778679A (zh) * | 2021-09-06 | 2021-12-10 | 北京字节跳动网络技术有限公司 | 资源调度方法、资源调度装置、电子设备和可读存储介质 |
CN115225565A (zh) * | 2022-07-25 | 2022-10-21 | 科东(广州)软件科技有限公司 | 数据包收发配置、收取、发送方法及装置、电子设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102253857A (zh) * | 2011-06-24 | 2011-11-23 | 华中科技大学 | 一种多核环境下的Xen虚拟机调度控制方法 |
CN104281496A (zh) * | 2014-10-27 | 2015-01-14 | 深圳中兴网信科技有限公司 | 虚拟资源的分配方法及分配装置 |
JP2016151939A (ja) * | 2015-02-18 | 2016-08-22 | Necプラットフォームズ株式会社 | コンピュータシステム、cpuリソース管理方法、および、cpuリソース管理プログラム |
CN106502796A (zh) * | 2016-10-27 | 2017-03-15 | 广东浪潮大数据研究有限公司 | 一种软件开发测试平台、系统及使用方法 |
CN108196958A (zh) * | 2017-12-29 | 2018-06-22 | 北京泽塔云科技股份有限公司 | 资源调度分配方法、计算机系统及超融合架构系统 |
CN108255598A (zh) * | 2016-12-28 | 2018-07-06 | 华耀(中国)科技有限公司 | 性能保证的虚拟化管理平台资源分配系统及方法 |
-
2019
- 2019-11-08 CN CN201911089891.1A patent/CN110990114A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102253857A (zh) * | 2011-06-24 | 2011-11-23 | 华中科技大学 | 一种多核环境下的Xen虚拟机调度控制方法 |
CN104281496A (zh) * | 2014-10-27 | 2015-01-14 | 深圳中兴网信科技有限公司 | 虚拟资源的分配方法及分配装置 |
JP2016151939A (ja) * | 2015-02-18 | 2016-08-22 | Necプラットフォームズ株式会社 | コンピュータシステム、cpuリソース管理方法、および、cpuリソース管理プログラム |
CN106502796A (zh) * | 2016-10-27 | 2017-03-15 | 广东浪潮大数据研究有限公司 | 一种软件开发测试平台、系统及使用方法 |
CN108255598A (zh) * | 2016-12-28 | 2018-07-06 | 华耀(中国)科技有限公司 | 性能保证的虚拟化管理平台资源分配系统及方法 |
CN108196958A (zh) * | 2017-12-29 | 2018-06-22 | 北京泽塔云科技股份有限公司 | 资源调度分配方法、计算机系统及超融合架构系统 |
Non-Patent Citations (5)
Title |
---|
PENG ZHIPING: "Method of Fusing Options and Ant Colony Algorithm for Virtual Machine Adaptive Configuration", 《JOURNAL OF CHINESE COMPUTER SYSTEMS》, vol. 36, no. 4, 30 April 2015 (2015-04-30), pages 801 - 806 * |
李延鹏: "嵌入式开发工程师入行手册", 中国铁道出版社, pages: 322 * |
池志雄: "多内核操作系统资源管理设计与实现", 《中国优秀硕士学位论文期刊数据库 信息科技辑》 * |
池志雄: "多内核操作系统资源管理设计与实现", 《中国优秀硕士学位论文期刊数据库 信息科技辑》, 15 April 2018 (2018-04-15), pages 138 - 1441 * |
黄文胜, 重庆大学出版社 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021120841A1 (zh) * | 2020-07-20 | 2021-06-24 | 平安科技(深圳)有限公司 | 虚拟机创建及cpu资源分配方法、装置、设备 |
CN112330229A (zh) * | 2020-12-02 | 2021-02-05 | 北京元心科技有限公司 | 资源调度方法、装置、电子设备及计算机可读存储介质 |
CN112330229B (zh) * | 2020-12-02 | 2023-09-22 | 北京元心科技有限公司 | 资源调度方法、装置、电子设备及计算机可读存储介质 |
CN113419811A (zh) * | 2021-05-20 | 2021-09-21 | 曙光信息产业股份有限公司 | Cpu添加方法、设备、计算机设备及可读存储介质 |
CN113778679A (zh) * | 2021-09-06 | 2021-12-10 | 北京字节跳动网络技术有限公司 | 资源调度方法、资源调度装置、电子设备和可读存储介质 |
CN113778679B (zh) * | 2021-09-06 | 2023-03-10 | 抖音视界有限公司 | 资源调度方法、资源调度装置、电子设备和可读存储介质 |
CN115225565A (zh) * | 2022-07-25 | 2022-10-21 | 科东(广州)软件科技有限公司 | 数据包收发配置、收取、发送方法及装置、电子设备 |
CN115225565B (zh) * | 2022-07-25 | 2023-12-15 | 科东(广州)软件科技有限公司 | 数据包收发配置、收取、发送方法及装置、电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110990114A (zh) | 一种虚拟机资源分配方法、装置、设备及可读存储介质 | |
US10701139B2 (en) | Life cycle management method and apparatus | |
CN105868028B (zh) | 一种进程间共享数据的方法、装置及终端 | |
CN108924268B (zh) | 一种容器云服务系统及pod创建方法、装置 | |
JP5510556B2 (ja) | 仮想マシンのストレージスペースおよび物理ホストを管理するための方法およびシステム | |
US9229751B2 (en) | Apparatus and method for managing virtual memory | |
CN110741352B (zh) | 虚拟网络功能管理系统和管理方法及计算机可读存储设备 | |
EP3481007A1 (en) | Method, device, and equipment for processing resource pool | |
KR20210095690A (ko) | 리소스 관리 방법과 장치, 전자 디바이스 및 기록 매체 | |
KR102077149B1 (ko) | 메모리 관리 방법 및 장치 | |
CN110399217B (zh) | 一种内存资源分配方法、装置及设备 | |
CN109960569B (zh) | 一种虚拟化处理方法及装置 | |
US20160352821A1 (en) | Method and system for allocating resources for virtual hosts | |
US8352702B2 (en) | Data processing system memory allocation | |
CN111026500B (zh) | 云计算模拟平台及其创建方法、装置和存储介质 | |
CN107077376B (zh) | 帧缓存实现方法、装置、电子设备和计算机程序产品 | |
CN111600972A (zh) | 双栈地址的配置方法、服务器和可读存储介质 | |
CN110162397B (zh) | 资源分配方法、装置及系统 | |
CN110750336A (zh) | 一种OpenStack虚拟机内存热扩容方法 | |
CN111104219A (zh) | 虚拟核心与物理核心的绑定方法、装置、设备及存储介质 | |
US10496444B2 (en) | Computer and control method for computer | |
US10237233B2 (en) | Allocating identifiers with minimal fragmentation | |
KR102640232B1 (ko) | 가상화 환경에서의 자원 할당 방법 및 장치 | |
CN109766179B (zh) | 一种显存分配方法以及装置 | |
CN111522659B (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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200410 |