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

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

Info

Publication number
CN103502944A
CN103502944A CN201180003694.9A CN201180003694A CN103502944A CN 103502944 A CN103502944 A CN 103502944A CN 201180003694 A CN201180003694 A CN 201180003694A CN 103502944 A CN103502944 A CN 103502944A
Authority
CN
China
Prior art keywords
virtual machine
adjusted
memory
internal memory
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.)
Granted
Application number
CN201180003694.9A
Other languages
English (en)
Other versions
CN103502944B (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%。
根据本发明实施例, 本领域技术人员可以理解, 针对具体的应用场合, 可以改变用来计算待调整内存的虚拟机的优先级别的参数的个数以及每个 参数的权重, 以满足不同的需要。
一般来说, 在包含虚拟机的计算机系统中, 计 算 资 源 管 理 ( Computation Resources 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 (1)

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

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104991825A (zh) * 2015-03-27 2015-10-21 北京天云融创软件技术有限公司 一种基于负载感知的Hypervisor资源超分配及动态调整方法及系统
CN105677485A (zh) * 2016-01-08 2016-06-15 中电科华云信息技术有限公司 云桌面主机和虚拟机的内存动态调整方法
CN110196770A (zh) * 2018-07-13 2019-09-03 腾讯科技(深圳)有限公司 云系统内存数据处理方法、装置、设备及存储介质
CN112612579A (zh) * 2020-12-30 2021-04-06 中国建设银行股份有限公司 虚拟机部署方法、存储介质及计算机设备

Families Citing this family (12)

* 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 北京云巢动脉科技有限公司 一种虚拟机内存的动态调整系统
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线程管理方法、装置和服务器
EP3794802A4 (en) * 2018-06-06 2021-05-19 Huawei Technologies Co., Ltd. SYSTEM AND PROCEDURES FOR CONTROLLING ADMINISTRATIVE OPERATIONS AND SHARED STORAGE SPACE FOR A CLOUD COMPUTING CLOUD COMPUTING
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 日本電信電話株式会社 リソース管理装置およびリソース管理方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050262505A1 (en) * 2004-05-21 2005-11-24 Esfahany Kouros H Method and apparatus for dynamic memory resource management
US20050262324A1 (en) * 2004-05-19 2005-11-24 Mathiske Bernd J System and method for reducing accounting overhead during memory allocation
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
CN102156665A (zh) * 2011-04-13 2011-08-17 杭州电子科技大学 一种虚拟化系统竞争资源差异化服务方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060069761A1 (en) * 2004-09-14 2006-03-30 Dell Products L.P. System and method for load balancing virtual machines in a computer network
US8095931B1 (en) * 2006-04-27 2012-01-10 Vmware, Inc. Controlling 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
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 (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050262324A1 (en) * 2004-05-19 2005-11-24 Mathiske Bernd J System and method for reducing accounting overhead during memory allocation
US20050262505A1 (en) * 2004-05-21 2005-11-24 Esfahany Kouros H Method and apparatus for dynamic memory resource management
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
CN102156665A (zh) * 2011-04-13 2011-08-17 杭州电子科技大学 一种虚拟化系统竞争资源差异化服务方法

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104991825A (zh) * 2015-03-27 2015-10-21 北京天云融创软件技术有限公司 一种基于负载感知的Hypervisor资源超分配及动态调整方法及系统
CN104991825B (zh) * 2015-03-27 2019-07-05 北京天云融创软件技术有限公司 一种基于负载感知的Hypervisor资源超分配及动态调整方法及系统
CN105677485A (zh) * 2016-01-08 2016-06-15 中电科华云信息技术有限公司 云桌面主机和虚拟机的内存动态调整方法
CN105677485B (zh) * 2016-01-08 2018-12-18 中电科华云信息技术有限公司 云桌面主机和虚拟机的内存动态调整方法
CN110196770A (zh) * 2018-07-13 2019-09-03 腾讯科技(深圳)有限公司 云系统内存数据处理方法、装置、设备及存储介质
CN112612579A (zh) * 2020-12-30 2021-04-06 中国建设银行股份有限公司 虚拟机部署方法、存储介质及计算机设备

Also Published As

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

Similar Documents

Publication Publication Date Title
CN103502944A (zh) 虚拟机内存调整方法和设备
TWI694339B (zh) 一種區塊鏈共識方法、設備及系統
CN102567072B (zh) 一种资源分配方法、装置及系统
CN107239336B (zh) 一种实现任务调度的方法及装置
Bhatia et al. Htv dynamic load balancing algorithm for virtual machine instances in cloud
US7467291B1 (en) System and method for calibrating headroom margin
CN105159775A (zh) 基于负载均衡器的云计算数据中心的管理系统和管理方法
CN102111337A (zh) 任务调度方法和系统
CN104468407A (zh) 实现业务平台资源弹性分配的方法与装置
CN103051564A (zh) 资源动态调配的方法和装置
GB2493812A (en) Scaling resources for virtual machines, using comparison with established threshold values
US10423217B1 (en) Dynamic power capping of multi-server nodes in a chassis based on real-time resource utilization
US20120233313A1 (en) Shared scaling server system
CN112422440B (zh) 一种应用于服务器的流量控制方法以及相关装置
CN108170517A (zh) 一种容器分配方法、装置、服务器及介质
WO2016101996A1 (en) Allocating cloud computing resources in a cloud computing environment
CN102339233A (zh) 云计算集中管理平台
CN106445636B (zh) 一种paas平台下的动态资源调度算法
CN104426694A (zh) 一种调整虚拟机资源的方法和装置
CN111045808A (zh) 一种分布式网络任务调度方法及装置
CN107203256A (zh) 一种网络功能虚拟化场景下的节能分配方法与装置
CN107589980A (zh) 一种云计算资源的调度方法
Kim et al. Virtual machines placement for network isolation in clouds
CN108600403A (zh) 一种dns线程管理方法、装置和服务器
CN103973811A (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