CN103502944B - 虚拟机内存调整方法和设备 - Google Patents

虚拟机内存调整方法和设备 Download PDF

Info

Publication number
CN103502944B
CN103502944B CN201180003694.9A CN201180003694A CN103502944B CN 103502944 B CN103502944 B CN 103502944B CN 201180003694 A CN201180003694 A CN 201180003694A CN 103502944 B CN103502944 B CN 103502944B
Authority
CN
China
Prior art keywords
memory
virtual machine
adjusted
priority
memory usage
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.)
Active
Application number
CN201180003694.9A
Other languages
English (en)
Other versions
CN103502944A (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN103502944A publication Critical patent/CN103502944A/zh
Application granted granted Critical
Publication of CN103502944B publication Critical patent/CN103502944B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation 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/5016Allocation 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45583Memory management, e.g. access or allocation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Memory System (AREA)

Abstract

本发明涉及虚拟机内存调整方法和设备。虚拟机内存调整方法包括:根据预设的内存使用率阈值,检查虚拟机的内存使用率,以确定待调整内存的多个虚拟机;根据所述待调整内存的多个虚拟机的预先选定的参数,确定所述待调整内存的虚拟机的优先级别;根据所述待调整内存的虚拟机的优先级别,调整所述待调整内存的虚拟机的内存。根据本发明实施例,实现了根据虚拟机内存调整需求的优先级别对虚拟机的内存进行调整,保证了部署关键应用或业务的虚拟机的内存得到及时调整,避免因内存调整不及时导致影响优先业务的流程。

Description

虚拟机内存调整方法和设备
技术领域
本发明涉及虚拟机领域,更具体地说,涉及虚拟机内存调整方法和设备。
背景技术
目前业界虚拟机内存管理普遍实现了内存超分配(按需分配),即先根据虚拟机的内存规格(如2GB),按照一定比例给虚拟机分配一定比例的内存(如1GB),然后再根据虚拟机运行时使用的内存动态调整(如1.5GB、2GB),按需给虚拟机分配物理内存,最大达到虚拟机的规格。但是当实际物理内存资源紧缺的情况下,不同虚拟机分配内存的能力是相同的,不能针对不同要求的用户,在内存资源使用上差异化对待。
现有的技术方案中,虚拟机内存监控线程会实时的监控虚拟机内存的使用情况,当发现有虚拟机的内存使用率在限定的时间持续高涨,就会对该虚拟机的内存进行调整,规避虚拟机内存耗尽而导致应用崩溃,该方案实现了内存资源的弹性管理,使得云计算系统的规格容量得以提升。
当有批量的虚拟机内存持续高涨时,现有的方案对所有的虚拟机无差别的对待,部署关键应用或业务的虚拟机调整请求可能等不到及时响应,进而影响整个业务流程。
发明内容
本发明实施例的目的是提出一种虚拟机内存调整方法,根据各虚拟机内存调整的紧急程度、业务优先级别以及用户优先级别等因素确定虚拟机内存调整的优先级别,优先调整优先级别高的虚拟机的内存,以保证优先业务的正常运行,避免业务风险。
一方面,提出了一种虚拟机内存调整方法,所述方法包括:
根据预设的内存使用率阈值,检查虚拟机的内存使用率,以确定待调整内存的多个虚拟机;
根据所述待调整内存的多个虚拟机的预先选定的参数,确定所述待调整内存的虚拟机的优先级别;
根据所述待调整内存的虚拟机的优先级别,调整所述待调整内存的虚拟机的内存。
另一方面,提出了一种虚拟机内存调整设备,所述设备包括:
监控单元,用于根据预设的内存使用率阈值,检查虚拟机的内存使用率,以确定待调整内存的多个虚拟机;
处理单元,用于根据所述待调整内存的多个虚拟机的预先选定的参数,确定所述待调整内存的虚拟机的优先级别;
调整单元,用于根据所述待调整内存的虚拟机的优先级别,调整所述待调整内存的虚拟机的内存。
根据本发明实施例,实现了根据虚拟机内存调整需求的优先级别对虚拟机的内存进行调整,保证了部署关键应用或业务的虚拟机的内存得到及时调整,避免因内存调整不及时导致影响优先业务的流程。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例的虚拟机内存调制方法的流程图;
图2是根据本发明实施例的虚拟机内存调整方法中,确定待调整内存的虚拟机的步骤的具体流程图;
图3是根据本发明实施例的虚拟机内存调整方法中,确定待调整内存的虚拟机的步骤的进一步具体流程图;
图4是表示图3所示流程图的示意框图;
图5是根据本发明实施例的虚拟机内存调整设备的示意结构图;
图6是根据本发明实施例的虚拟机内存调整设备中的监控单元的具体结构图;
图7是根据本发明实施例的虚拟机内存调整设备中的处理单元的具体结构图;
图8是根据本发明实施例的虚拟机内存调整设备中的调整单元的具体结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1是根据本发明实施例的虚拟机内存调整方法的示意流程图。如图1所示,虚拟机内存调整方法100包括:
110:根据预设的内存使用率阈值,检查虚拟机的内存使用率,以确定待调整内存的多个虚拟机;
120:根据所述待调整内存的多个虚拟机的预先选定的参数,确定所述待调整内存的虚拟机的优先级别;
130:根据所述待调整内存的虚拟机的优先级别,调整所述待调整内存的虚拟机的内存。
以下将结合附图具体阐述本发明实施例的虚拟机内存调整方法的具体实现过程。
首先,对于虚拟机内存调整方法100的步骤110来说,通过持续监控各个虚拟机内存的使用情况,识别出在一定时间周期内的内存使用率持续超过预设的内存使用率阈值的那些虚拟机,作为待调整内存的虚拟机。
根据本发明实施例,例如通过以下流程来确定待调整内存的虚拟机。
图2是根据本发明实施例,用来确定待调整内存的虚拟机的例述流程图。如图2所示,步骤110:根据预设的内存使用率阈值,检查虚拟机的内存使用率,以确定待调整内存的多个虚拟机,包括:
210:按照预设时间周期,例如5秒,检查虚拟机的内存使用率。
220:判断所述虚拟机的内存使用率是否超过所述预设的内存使用率阈值,例如70%。
230:在判断结果为所述虚拟机的内存使用率超过所述预设的内存使用率阈值的情况下,累计所述虚拟机的内存使用率超过所述预设的内存使用率阈值的次数。
根据本发明实施例,累计所述虚拟机的内存使用率超过所述预设的内存使用率阈值的次数,可以简单地通过计数器来实现。
240:判断所述累计的所述虚拟机的内存使用率超过所述预设的内存使用率阈值的次数是否大于预设的次数阈值。例如,判断计数器是否达到预设的上限,该上限即为所述次数阈值。
250:在判断结果为所述累计的所述虚拟机的内存使用率超过所述预设的内存使用率阈值的次数大于预设的次数阈值的情况下,确定所述虚拟机为待调整内存的虚拟机。
根据上述本发明实施例,在虚拟机的内存使用率超过预设的内存使用率阈值的次数超过预设的次数阈值的时候,确定所述虚拟机为待调整内存的虚拟机。
根据另一种优选的本发明实施例,可以在虚拟机的内存使用率连续超过预设的内存使用率阈值的次数超过预设的次数阈值的时候,确定所述虚拟机为待调整内存的虚拟机。
在这种情况下,如图3所示,上述确定待调整内存的虚拟机的步骤中进一步包括步骤:
235:在所述判断结果为所述虚拟机的内存使用率不超过所述预设的内存使用率阈值的情况下,将所述累计的所述虚拟机的内存使用率超过所述预设的内存使用率阈值的次数清零。
这种情况下,在虚拟机内存使用率连续超过预设的内存使用率阈值的次数超过预设的次数阈值的时候,确定所述虚拟机为待调整内存的虚拟机,更准确地反映了该虚拟机内存需要调整的迫切程度。
图4是确定内存需要调整的虚拟机的步骤的流程框图,与图3所示流程图相对应。
对于本发明实施例的虚拟机内存调整方法的步骤120:根据所述待调整内存的多个虚拟机的预先选定的参数,确定所述待调整内存的虚拟机的优先级别,可以通过综合考虑一个或多个预先选定的参数来确定待调整内存的虚拟机的优先级别。一般来说,所述参数可以包括虚拟机的内存使用率、用户优先级别和业务优先级别。本领域技术人员可以根据具体情况,选择这些参数中的一个或多个来确定待调整内存的虚拟机的优先级别。
根据本发明实施例,例如使用全部三个参数,即虚拟机的内存使用率、用户级别和业务优先级别来确定待调整内存的虚拟机的优先级别。例如,针对内存使用率、用户级别和业务优先级别分别预设定了每个参数的权重,计算内存使用率、用户级别和业务优先级别的加权和,作为待调整内存的虚拟机的优先级别。例如,内存使用率的权重为50%、用户级别的权重为30%和业务优先级别的权重为20%,则:
待调整内存的虚拟机的优先级别=内存使用率*50%+用户优先级别*30%+业务优先级别*20%。
根据本发明实施例,本领域技术人员可以理解,针对具体的应用场合,可以改变用来计算待调整内存的虚拟机的优先级别的参数的个数以及每个参数的权重,以满足不同的需要。
一般来说,在包含虚拟机的计算机系统中,计算资源管理(ComputationResources Management,简称CRM)会周期性向计算节点(Computation Node,简称CNA)发送刷新虚拟机的消息,CNA会将虚拟机的信息返回给CRM,返回的消息中含中含有虚拟机内存使用率,内存使用率反映了虚拟机内存调整的紧急程度,内存是使用率越高,虚拟机内存调整的紧急程度就越高,计算的优先级也就越高。
CRM节点定时去刷新虚拟机信息,会有一定的延迟,可能会导致内存使用率持续升高的虚拟机的内存不能得到及时的调整。根据可选的本发明实施例,可以采用CNA主动上报内存使用率信息,CRM获得的内存使用率,可以用于本发明实施例的虚拟机内存调整方法中的步骤110中,用来确定所述虚拟机是否为待调整内存的虚拟机,并且可以用于步骤120中来确定待调整内存的虚拟机的优先级别。
根据一种具体实例,根据所述待调整内存的虚拟机的所述参数以及预设的每个参数的权重,计算所述参数的加权和,作为所述待调整内存的虚拟机的优先级别,包括:
获取所述待调整内存的虚拟机的内存使用率、用户优先级别和业务优先级别,
根据所述待调整内存的虚拟机的内存使用率、用户优先级别和业务优先级别,以及内存使用率、用户优先级别和业务优先级别各自对应的权重,计算所述待调整内存的虚拟机的内存使用率、用户优先级别和业务优先级别的加权和,作为所述待调整内存的虚拟机的优先级别。
对于本发明实施例的虚拟机内存调整方法100的步骤130:所述根据所述待调整内存的虚拟机的优先级别,调整所述待调整内存的虚拟机的内存,可以包括:
根据为所述待调整内存的虚拟机的优先级别预设的范围,将所述待调整内存的虚拟机分成多个不同的调整队列;
在单线程工作模式下,按照所述多个调整队列的优先级高低次序,依次调整所述多个调整队列中的所述待调整内存的虚拟机的内存。
根据本发明实施例,在确定了待调整内存的虚拟机的优先级别之后,可以根据为待调整内存的虚拟机的优先级别设定的范围,例如将待调整内存的虚拟机分成优先级别为高、中、低三个调整队列。本领域技术人员可以理解,根据具体应用场合,可以根据不同的范围,将待调整内存的虚拟机分成优先级别不同的调整队列,例如按优先级高低分成:第一、第二、第三、第四调整队列。
根据本发明实施例,在虚拟机所处系统采用单线程工作模式时,可以按照所述调整队列的优先级别,例如按照优先级高低顺序,依次处理优先级别为高、中、低的调整队列中的待调整内存的虚拟机的内存。
当然,在虚拟机所处系统采用多线程工作模式时,可以设置与所述多个调整队列分别对应的多个调整线程,并赋予所述多个调整线程对应的优先级,例如调整线程的优先级别分别为高、中、低,则所述多个调整线程根据所述多个调整线程的优先级,并行地调整所述多个调整队列中的所述待调整内存的虚拟机的内存。
根据本发明实施例,实现了根据虚拟机内存调整需求的优先级别对虚拟机的内存进行调整,保证了部署关键应用或业务的虚拟机的内存得到及时调整,避免因内存调整不及时导致影响优先业务的流程。
本发明实施例还提出了虚拟机内存调整设备,该设备可以用来实施本发明实施例的虚拟机内存调整方法。
图5是根据本发明实施例的虚拟机内存调整设备500的示意结构图。如图5所示,虚拟机内存调整设备500包括:
监控单元510,用于根据预设的内存使用率阈值,检查虚拟机的内存使用率,以确定待调整内存的多个虚拟机;
处理单元520,用于根据所述待调整内存的多个虚拟机的预先选定的参数,确定所述待调整内存的虚拟机的优先级别;
调整单元530,用于根据所述待调整内存的虚拟机的优先级别,调整所述待调整内存的虚拟机的内存。
根据本发明实施例,如图6所示,设备500的监控单元510具体可以包括:
获取子单元512,用于按照预设时间周期,检查虚拟机的内存使用率;
第一判断子单元514,用于判断所述虚拟机的内存使用率是否超过所述预设的内存使用率阈值;
计数子单元516,用于在所述第一判断子单元514判断结果为所述虚拟机的内存使用率超过所述预设的内存使用率阈值的情况下,累计所述虚拟机的内存使用率超过所述预设的内存使用率阈值的次数,
第二判断子单元518,用于判断所述累计的所述虚拟机的内存使用率超过所述预设的内存使用率阈值的次数是否大于预设的次数阈值;
在第二判断子单元518判断结果为所述累计的所述虚拟机的内存使用率超过所述预设的内存使用率阈值的次数大于预设的次数阈值的情况下,所述监控单元510确定所述虚拟机为待调整内存的虚拟机。
根据本发明实施例,在所述第一判断子单元514判断结果为所述虚拟机的内存使用率不超过所述预设的内存使用率阈值的情况下,所述监控单元510用于将所述累计的所述虚拟机的内存使用率超过所述预设的内存使用率阈值的次数清零。
根据本发明实施例,所述处理单元520用于根据所述待调整内存的虚拟机的所述参数以及预设的每个参数的权重,计算所述参数的加权和,作为所述待调整内存的虚拟机的优先级别,其中所述参数包括内存使用率、用户优先级别和业务优先级别其中至少一项。
如图7所示,根据本发明实施例,所述处理单元520具体可以包括:
接收子单元522,用于获取所述待调整内存的虚拟机的内存使用率、用户优先级别和业务优先级别;
优先级确定子单元524,用于根据所述接收子单元522获取的所述待调整内存的虚拟机的内存使用率、用户优先级别和业务优先级别,以及内存使用率、用户优先级别和业务优先级别各自对应的权重,计算所述待调整内存的虚拟机的内存使用率、用户优先级别和业务优先级别的加权和,作为所述待调整内存的虚拟机的优先级别。
如图8所示,根据本发明实施例,所述调整单元530具体可以包括:
队列划分子单元532,用于根据为所述待调整内存的虚拟机的优先级别预设的范围,将所述待调整内存的虚拟机分成多个不同的调整队列;
内存调整子单元534,用于在单线程工作模式下,按照所述多个调整队列的优先级高低次序,依次调整所述多个调整队列中的所述待调整内存的虚拟机的内存。
根据本发明实施例,在多线程工作模式下,内存调整子单元534用于设置与所述多个调整队列分别对应的多个调整线程,并赋予所述多个调整线程对应的优先级,所述多个调整线程根据所述多个调整线程的优先级,并行地调整所述多个调整队列中的所述待调整内存的虚拟机的内存。
本领域技术人员可以理解,本发明实施例的虚拟机内存调整设备可以实现为其上运行虚拟机的个人计算机、工作站、网络服务器等设备,本发明实施例并不限制虚拟机内存调整设备的具体实现方式。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

Claims (12)

1.一种虚拟机内存调整方法,其特征在于,所述方法包括:
根据预设的内存使用率阈值,检查虚拟机的内存使用率,以确定待调整内存的多个虚拟机;
根据所述待调整内存的多个虚拟机的预先选定的参数,确定所述待调整内存的虚拟机的优先级别;
根据所述待调整内存的虚拟机的优先级别,调整所述待调整内存的虚拟机的内存;
其中,所述根据预设的内存使用率阈值,检查虚拟机的内存使用率,以确定待调整内存的多个虚拟机,包括:
按照预设时间周期,检查虚拟机的内存使用率;
判断所述虚拟机的内存使用率是否超过所述预设的内存使用率阈值;
在判断结果为所述虚拟机的内存使用率超过所述预设的内存使用率阈值的情况下,累计所述虚拟机的内存使用率超过所述预设的内存使用率阈值的次数,
判断所述累计的所述虚拟机的内存使用率超过所述预设的内存使用率阈值的次数是否大于预设的次数阈值;
在判断结果为所述累计的所述虚拟机的内存使用率超过所述预设的内存使用率阈值的次数大于预设的次数阈值的情况下,确定所述虚拟机为待调整内存的虚拟机。
2.如权利要求1所述的方法,其特征在于,所述根据预设的内存使用率阈值,检查虚拟机的内存使用率,以确定待调整内存的多个虚拟机,还包括:
在所述判断结果为所述虚拟机的内存使用率不超过所述预设的内存使用率阈值的情况下,将所述累计的所述虚拟机的内存使用率超过所述预设的内存使用率阈值的次数清零。
3.如权利要求1所述的方法,其特征在于,所述根据所述待调整内存的虚拟机的预先选定的参数,确定所述待调整内存的虚拟机的优先级别,包括:
根据所述待调整内存的虚拟机的所述参数以及预设的每个参数的权重,计算所述参数的加权和,作为所述待调整内存的虚拟机的优先级别,其中所述参数包括内存使用率、用户优先级别和业务优先级别其中至少一项。
4.如权利要求3所述的方法,其特征在于,所述参数包括内存使用率、用户优先级别和业务优先级别,其中
根据所述待调整内存的虚拟机的所述参数以及预设的每个参数的权重,计算所述参数的加权和,作为所述待调整内存的虚拟机的优先级别,包括:
获取所述待调整内存的虚拟机的内存使用率、用户优先级别和业务优先级别,
根据所述待调整内存的虚拟机的内存使用率、用户优先级别和业务优先级别,以及内存使用率、用户优先级别和业务优先级别各自对应的权重,计算所述待调整内存的虚拟机的内存使用率、用户优先级别和业务优先级别的加权和,作为所述待调整内存的虚拟机的优先级别。
5.如权利要求1至4任一项所述的方法,其特征在于,
所述根据所述待调整内存的虚拟机的优先级别,调整所述待调整内存的虚拟机的内存,包括:
根据为所述待调整内存的虚拟机的优先级别预设的范围,将所述待调整内存的虚拟机分成多个不同的调整队列;
在单线程工作模式下,按照所述多个调整队列的优先级高低次序,依次调整所述多个调整队列中的所述待调整内存的虚拟机的内存。
6.如权利要求1至4任一项所述的方法,其特征在于,
所述根据所述待调整内存的虚拟机的优先级别,调整所述待调整内存的虚拟机的内存,包括:
根据为所述待调整内存的虚拟机的优先级别预设的范围,将所述待调整内存的虚拟机分成多个不同的调整队列;
在多线程工作模式下,设置与所述多个调整队列分别对应的多个调整线程,并赋予所述多个调整线程对应的优先级,所述多个调整线程根据所述多个调整线程的优先级,并行地调整所述多个调整队列中的所述待调整内存的虚拟机的内存。
7.一种虚拟机内存调整设备,其特征在于,所述设备包括:
监控单元,用于根据预设的内存使用率阈值,检查虚拟机的内存使用率,以确定待调整内存的多个虚拟机;
处理单元,用于根据所述待调整内存的多个虚拟机的预先选定的参数,确定所述待调整内存的虚拟机的优先级别;
调整单元,用于根据所述待调整内存的虚拟机的优先级别,调整所述待调整内存的虚拟机的内存;
其中,所述监控单元具体包括:
获取子单元,用于按照预设时间周期,检查虚拟机的内存使用率;
第一判断子单元,用于判断所述虚拟机的内存使用率是否超过所述预设的内存使用率阈值;
计数子单元,用于在所述第一判断子单元判断结果为所述虚拟机的内存使用率超过所述预设的内存使用率阈值的情况下,累计所述虚拟机的内存使用率超过所述预设的内存使用率阈值的次数,
第二判断子单元,用于判断所述累计的所述虚拟机的内存使用率超过所述预设的内存使用率阈值的次数是否大于预设的次数阈值;
在所述第二判断子单元判断结果为所述累计的所述虚拟机的内存使用率超过所述预设的内存使用率阈值的次数大于预设的次数阈值的情况下,所述监控单元确定所述虚拟机为待调整内存的虚拟机。
8.如权利要求7所述的设备,其特征在于,
在所述第一判断子单元判断结果为所述虚拟机的内存使用率不超过所述预设的内存使用率阈值的情况下,所述监控单元还用于将所述累计的所述虚拟机的内存使用率超过所述预设的内存使用率阈值的次数清零。
9.如权利要求7所述的设备,其特征在于,
所述处理单元用于根据所述待调整内存的虚拟机的所述参数以及预设的每个参数的权重,计算所述参数的加权和,作为所述待调整内存的虚拟机的优先级别,其中所述参数包括内存使用率、用户优先级别和业务优先级别其中至少一项。
10.如权利要求9所述的设备,其特征在于,所述处理单元具体包括:
接收子单元,用于获取所述待调整内存的虚拟机的内存使用率、用户优先级别和业务优先级别;
优先级确定子单元,用于根据所述接收子单元获取的所述待调整内存的虚拟机的内存使用率、用户优先级别和业务优先级别,以及内存使用率、用户优先级别和业务优先级别各自对应的权重,计算所述待调整内存的虚拟机的内存使用率、用户优先级别和业务优先级别的加权和,作为所述待调整内存的虚拟机的优先级别。
11.如权利要求7所述的设备,其特征在于,所述调整单元具体包括:
队列划分子单元,用于根据为所述待调整内存的虚拟机的优先级别预设的范围,将所述待调整内存的虚拟机分成多个不同的调整队列;
内存调整子单元,用于在单线程工作模式下,按照所述多个调整队列的优先级高低次序,依次调整所述多个调整队列中的所述待调整内存的虚拟机的内存。
12.如权利要求7所述的设备,其特征在于,所述调整单元具体包括:
队列划分子单元,用于根据为所述待调整内存的虚拟机的优先级别预设的范围,将所述待调整内存的虚拟机分成多个不同的调整队列;
内存调整子单元,用于在多线程工作模式下,设置与所述多个调整队列分别对应的多个调整线程,并赋予所述多个调整线程对应的优先级,所述多个调整线程根据所述多个调整线程的优先级,并行地调整所述多个调整队列中的所述待调整内存的虚拟机的内存。
CN201180003694.9A 2011-11-28 2011-11-28 虚拟机内存调整方法和设备 Active CN103502944B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2011/083036 WO2013078588A1 (zh) 2011-11-28 2011-11-28 虚拟机内存调整方法和设备

Publications (2)

Publication Number Publication Date
CN103502944A CN103502944A (zh) 2014-01-08
CN103502944B true CN103502944B (zh) 2018-07-03

Family

ID=48534581

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201180003694.9A Active CN103502944B (zh) 2011-11-28 2011-11-28 虚拟机内存调整方法和设备

Country Status (4)

Country Link
US (1) US9201780B2 (zh)
EP (2) EP3106984B1 (zh)
CN (1) CN103502944B (zh)
WO (1) WO2013078588A1 (zh)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2931968B1 (fr) * 2008-06-02 2012-11-30 Alcatel Lucent Procede et equipement de stockage de donnees en ligne
CN103605613B (zh) * 2013-11-21 2016-09-21 中标软件有限公司 云计算环境中动态调整虚拟机内存的方法及系统
US9203850B1 (en) * 2014-02-12 2015-12-01 Symantec Corporation Systems and methods for detecting private browsing mode
US9417902B1 (en) * 2014-03-24 2016-08-16 Amazon Technologies, Inc. Managing resource bursting
CN105094980A (zh) * 2014-05-23 2015-11-25 北京云巢动脉科技有限公司 一种虚拟机内存的动态调整系统
CN104991825B (zh) * 2015-03-27 2019-07-05 北京天云融创软件技术有限公司 一种基于负载感知的Hypervisor资源超分配及动态调整方法及系统
CN105677485B (zh) * 2016-01-08 2018-12-18 中电科华云信息技术有限公司 云桌面主机和虚拟机的内存动态调整方法
CN106250209A (zh) * 2016-08-02 2016-12-21 浪潮(北京)电子信息产业有限公司 一种Xen虚拟环境下的虚拟机内存监控方法及其系统
US10423452B2 (en) 2017-06-22 2019-09-24 International Business Machines Corporation Allocating resources to virtual machines
CN108600403B (zh) * 2018-01-24 2021-06-22 北京奇艺世纪科技有限公司 一种dns线程管理方法、装置和服务器
WO2019232725A1 (en) * 2018-06-06 2019-12-12 Huawei Technologies Co., Ltd. System and method for controlling management operations and shared memory space for multi-tenant cache service in cloud computing
CN110196770B (zh) * 2018-07-13 2023-04-18 腾讯科技(深圳)有限公司 云系统内存数据处理方法、装置、设备及存储介质
US10929165B2 (en) * 2018-07-31 2021-02-23 Nutanix, Inc. System and method for memory resizing in a virtual computing environment
US10884779B2 (en) * 2018-12-07 2021-01-05 Nutanix, Inc. Systems and methods for selecting virtual machines to be migrated
JP7331374B2 (ja) * 2019-02-15 2023-08-23 日本電信電話株式会社 リソース管理装置およびリソース管理方法
CN112612579A (zh) * 2020-12-30 2021-04-06 中国建设银行股份有限公司 虚拟机部署方法、存储介质及计算机设备

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102156665A (zh) * 2011-04-13 2011-08-17 杭州电子科技大学 一种虚拟化系统竞争资源差异化服务方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7206890B2 (en) * 2004-05-19 2007-04-17 Sun Microsystems, Inc. System and method for reducing accounting overhead during memory allocation
US7979857B2 (en) * 2004-05-21 2011-07-12 Computer Associates Think, Inc. Method and apparatus for dynamic memory resource management
US20060069761A1 (en) * 2004-09-14 2006-03-30 Dell Products L.P. System and method for load balancing virtual machines in a computer network
US7702843B1 (en) * 2006-04-27 2010-04-20 Vmware, Inc. Determining memory conditions in a virtual machine
JP4996929B2 (ja) * 2007-01-17 2012-08-08 株式会社日立製作所 仮想計算機システム
US20090265707A1 (en) * 2008-04-21 2009-10-22 Microsoft Corporation Optimizing application performance on virtual machines automatically with end-user preferences
US20100077128A1 (en) * 2008-09-22 2010-03-25 International Business Machines Corporation Memory management in a virtual machine based on page fault performance workload criteria
US9740517B2 (en) * 2008-12-29 2017-08-22 Microsoft Technology Licensing, Llc Dynamic virtual machine memory management
CN101504620A (zh) * 2009-03-03 2009-08-12 华为技术有限公司 一种虚拟化集群系统负载平衡方法、装置及系统
US8402232B2 (en) * 2009-12-23 2013-03-19 Oracle America, Inc. Memory utilization tracking
KR20120097136A (ko) * 2011-02-24 2012-09-03 삼성전자주식회사 가상화 환경에서의 메모리 풀 관리

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102156665A (zh) * 2011-04-13 2011-08-17 杭州电子科技大学 一种虚拟化系统竞争资源差异化服务方法

Also Published As

Publication number Publication date
EP2674862A1 (en) 2013-12-18
US20140013072A1 (en) 2014-01-09
US9201780B2 (en) 2015-12-01
EP2674862A4 (en) 2014-01-22
WO2013078588A1 (zh) 2013-06-06
EP3106984B1 (en) 2018-11-07
EP3106984A1 (en) 2016-12-21
CN103502944A (zh) 2014-01-08
EP2674862B1 (en) 2016-06-01

Similar Documents

Publication Publication Date Title
CN103502944B (zh) 虚拟机内存调整方法和设备
CN107239336B (zh) 一种实现任务调度的方法及装置
US7467291B1 (en) System and method for calibrating headroom margin
WO2016119412A1 (zh) 一种云平台上的资源伸缩方法和一种云平台
US20160316003A1 (en) Balancing resources in distributed computing environments
CN103336722B (zh) 一种虚拟机cpu资源监控和动态分配方法
CN103369041B (zh) 基于云计算的资源分配方法及装置
Jung et al. Agent-based adaptive resource allocation on the cloud computing environment
US8060610B1 (en) Multiple server workload management using instant capacity processors
US11496413B2 (en) Allocating cloud computing resources in a cloud computing environment based on user predictability
CN107733676A (zh) 一种弹性调度资源的方法及系统
CN104714851A (zh) 一种实现资源分配的方法及装置
CN104301257B (zh) 一种资源分配方法、装置及设备
CN109426896A (zh) 一种确定区域运力状态的方法及装置、电子设备
CN105227489B (zh) 一种带宽管理方法及电子设备
CN112269641A (zh) 一种调度方法、装置、电子设备及存储介质
CN112422440B (zh) 一种应用于服务器的流量控制方法以及相关装置
CN110661824B (zh) 分布式集群中服务器的流量调控方法及存储介质
CN109144706A (zh) 一种cpu资源的动态分配方法、装置及物理机
CN108874502A (zh) 云计算集群的资源管理方法、装置及设备
CN109495343A (zh) 异常流量数据的处理方法、装置及服务器
CN107203256B (zh) 一种网络功能虚拟化场景下的节能分配方法与装置
CN110413393A (zh) 集群资源管理方法、装置、计算机集群及可读存储介质
US10785300B2 (en) Storage rate limiting for information handling system with multiple storage controllers
CN114884900B (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
GR01 Patent grant
GR01 Patent grant