CN108804225B - 一种虚拟机负载调控方法和装置 - Google Patents

一种虚拟机负载调控方法和装置 Download PDF

Info

Publication number
CN108804225B
CN108804225B CN201810510808.2A CN201810510808A CN108804225B CN 108804225 B CN108804225 B CN 108804225B CN 201810510808 A CN201810510808 A CN 201810510808A CN 108804225 B CN108804225 B CN 108804225B
Authority
CN
China
Prior art keywords
virtual machine
performance index
cpu
host
detect
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
CN201810510808.2A
Other languages
English (en)
Other versions
CN108804225A (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.)
New H3C Cloud Technologies Co Ltd
Original Assignee
New H3C Cloud 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 New H3C Cloud Technologies Co Ltd filed Critical New H3C Cloud Technologies Co Ltd
Priority to CN201810510808.2A priority Critical patent/CN108804225B/zh
Publication of CN108804225A publication Critical patent/CN108804225A/zh
Application granted granted Critical
Publication of CN108804225B publication Critical patent/CN108804225B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/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/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/5022Mechanisms to release 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/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/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load

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

本申请提供了一种虚拟机负载调控方法和装置,该方法包括:主机从虚拟机外部周期性检测虚拟机的处理器CPU使用率,确定所述虚拟机的当前工作状态;主机若确定所述虚拟机的当前工作状态为超负荷状态,则指示所述虚拟机从内部检测自身的性能指标;主机若确定所述虚拟机从内部检测到的所述性能指标大于设定指标范围的上限,则为所述虚拟机分配CPU资源,并执行指示所述虚拟机从内部检测自身的性能指标的步骤,直到确定所述虚拟机的性能指标在所述设定指标范围内。

Description

一种虚拟机负载调控方法和装置
技术领域
本申请涉及通信技术领域,具体而言,涉及一种虚拟机负载调控方法和装置。
背景技术
由于虚拟机的处理器(Central Processing Unit,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为本申请实施例提供的一种计算机设备400的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例提供了一种虚拟机负载调控方法,如图1所示,该方法应用于主机中,主机中包括虚拟机,该方法包括:
S101,主机从虚拟机外部周期性检测虚拟机的处理器CPU使用率,确定所述虚拟机的当前工作状态;
这里,CPU使用率表征虚拟机运行的任务占用的CPU资源的百分比,也就是,虚拟机运行的任务占用的CPU资源与虚拟机的CPU资源的比值;虚拟机的工作状态包括超负荷状态、正常状态和空闲状态等;检测周期表征主机检测虚拟机的CPU使用率的时间间隔。
超负荷状态表征虚拟机运行的任务占用的CPU资源的百分比超过设定使用率范围的上限值,空闲状态表征虚拟机运行的任务占用的CPU资源的百分比低于设定使用率范围的下限值,正常状态表征虚拟机运行的任务占用的CPU资源的百分比位于设定使用率范围内。其中,设定使用率范围一般为预先设置的,例如,设定使用率范围可以为20%~80%,该设定使用率范围的上限值为80%,下限值为20%。
运行虚拟机负载调控方法的主机可以是但不限于计算机设备、服务器等设备,主机中包括至少一个虚拟机,虚拟机的数目可以根据实际情况确定,主机检测虚拟机的CPU使用率的技术在现有技术中已有详细的介绍,此处不在进行过多说明。
由于一台主机(如,服务器、计算机设备)可以运行多个虚拟机,每个虚拟机运行有至少一个CPU,每个虚拟机运行的CPU的数目可以根据实际情况确定。因此,在虚拟机中运行有至少两个CPU时,CPU使用率可以为虚拟机中各CPU的CPU使用率的和值的平均值,或者,为所述虚拟机中各CPU的CPU使用率中的最大值。
例如,虚拟机A中运行有两个CPU,分别为CPU1和CPU2,CPU1的CPU使用率为90%,CPU2的CPU使用率为80%,该虚拟机A的CPU使用率可以为CPU1和CPU2的CPU使用率的平均值,也就是85%,也可以为CPU1和CPU2中最大值对应的CPU使用率,即90%,可根据实际情况确定;若将各CPU的CPU使用率的平均值作为虚拟机的CPU使用率,虚拟机A的CPU使用率85%超过了设定使用率范围的上限值80%,此虚拟机A的工作状态为超负荷状态。
S102,主机若确定所述虚拟机的当前工作状态为超负荷状态,则指示所述虚拟机从所述虚拟机内部检测自身的性能指标;
在执行步骤S102之前,还可以在所述虚拟机内部设置性能指标检测工具,设置性能指标检测工具的步骤可以在S102之前,也可以在步骤S101之前,本申请对此不予限制;在执行步骤S102时,主机在确定所述虚拟机的工作状态为超负荷状态后,生成性能指标检测指令,所述性能指标检测指令用于指示所述性能指标检测工具检测所述虚拟机的性能指标。
这里,性能指标表征虚拟机运行设定CPU运行能力代码花费的时间;性能指标检测工具一般设置在主机如主机中的虚拟机中,可以是但不限于在线aTool、VMware Tools、qemu agent工具等。
在具体实施中,每个虚拟机中配置有qemu agent工具,qemu agent工具中配置了检测CPU运算能力的代码,主机可以通过virio串口与虚拟机的qemu agent工具进行通信,主机与虚拟机的通信方式不限于virio串口,可根据实际情况确定。主机在确定虚拟机的工作状态为超负荷状态后,通过virio串口向虚拟机中的qemu agent工具发送性能指标检测指令,性能指标检测指令指示虚拟机内部的qemu agent工具执行CPU运算能力代码,主机通过virio串口获取qemu agent工具检测到的虚拟机的性能指标。
S103,主机若确定所述虚拟机从内部检测到的所述性能指标大于设定指标范围的上限,则为所述虚拟机分配CPU资源,并执行指示所述虚拟机从内部检测自身的性能指标的步骤,直到确定所述虚拟机的性能指标在所述设定指标范围内。
若确定所述虚拟机从内部检测到的所述性能指标小于或等于所述设定指标范围的上限,则等待下一检测周期执行所述从虚拟机外部周期性检测虚拟机的处理器CPU使用率,确定所述虚拟机的当前工作状态的步骤。
这里,为虚拟机分配的CPU资源一般为主机的CPU资源,若主机没有CPU资源为虚拟机分配后,此时可以更换为CPU资源更多的新的主机来完成任务;设定指标范围一般为根据实际情况确定的,如,设定指标范围可以为5(1±1%)ms。
在具体实施中,主机的各虚拟机预先配置有CPU共享参数(下称CPU share参数),CPU share参数的初始值可以根据主机中弹性运算单元(Elastic Compute Unit,ECU)的数目进行设置。
例如,若主机A具有1个ECU,主机A中运行有虚拟机A和虚拟机B,虚拟机A和虚拟机B的CPU share参数的初始值可以均为100;若主机A具有2个ECU,主机A中同样运行有虚拟机A和虚拟机B,虚拟机A和虚拟机B的CPU share参数的初始值可以均设为200,可根据实际情况确定。
在检测到的虚拟机的性能指标大于设定指标范围的上限,则按照设定规则增加CPU share参数值,实现为所述虚拟机分配CPU资源的目的。其中,设定规则一般为增加的CPU share参数值的步长,每次增加的步长可以相同,也可以不同,本申请对此不予限制。这样,在虚拟机处理的任务比较多时,为虚拟机分配了新的CPU资源后,虚拟机的处理能力会增强,也就是,虚拟机的CPU性能会增强,此时,虚拟机的性能指标值会下降,直到将虚拟机的性能指标调整到设定指标范围(在此范围,用户体验比较流畅),可以减少了用户的卡顿,提高用户的体验,实现动态调整虚拟机CPU资源的目的。
例如,主机中运行有虚拟机A,虚拟机A的CPU share参数值为100,虚拟机A在处于超负荷状态后,若虚拟机A检测到自身的性能指标为10ms(表征当前虚拟机的处理能力比较弱),虚拟机A将上述性能指标发送给主机,主机确定该性能指标大于设定指标范围的上限值5(1+1%)ms,此时,主机将虚拟机A的CPU share参数值增加100,此时,虚拟机A的CPUshare参数值为200,返回执行主机指示所述虚拟机检测自身的性能指标的步骤,直到主机确定虚拟机的性能指标在设定指标范围5(1±1%)ms内;若虚拟机A检测到自身的性能指标为4ms,虚拟机A将上述性能指标发送给主机,主机确定该性能指标小于设定指标范围的下限值5(1-1%)ms,此时,等待下一检测周期执行主机从虚拟机外部周期性检测虚拟机的处理器CPU使用率,确定虚拟机的当前工作状态的步骤。
在主机基于检测到虚拟机的处理器CPU使用率,确定所述虚拟机的工作状态时,还包括以下步骤:
若确定所述虚拟机的当前工作状态为空闲状态,则指示所述虚拟机从内部检测自身的性能指标;
若确定所述虚拟机从内部检测到的所述性能指标小于所述设定指标范围的下限,则释放所述虚拟机的CPU资源,并执行指示所述虚拟机从内部检测自身的性能指标的步骤,直到确定所述虚拟机的性能指标在设定指标范围内。
在虚拟机处于空闲状态时,虚拟机在内部检测到的虚拟机的性能指标小于设定指标范围的上限,主机按照设定规则减少CPU share参数值,实现回收虚拟机的CPU资源的目的。其中,设定规则一般为减少的CPU share参数值的步长,每次减少的步长可以相同,也可以不同,本申请对此不予限制。这样,在虚拟机需要执行的任务比较少时,在不降低虚拟机的CPU性能的情况下,主机回收虚拟机中的CPU资源,将虚拟机的性能指标调整到设定指标范围内,为主机中其它虚拟机提供更多的CPU资源,实现动态调整虚拟机CPU资源的目的。
例如,主机中运行有虚拟机A,虚拟机A的CPU share参数值为300,虚拟机A在处于空闲状态后,若虚拟机A检测到自身的性能指标为4ms(表征当前虚拟机的处理能力比较强),虚拟机A将上述性能指标发送给主机,主机确定该性能指标小于设定指标范围的下限值5(1+1%)ms,此时,主机将虚拟机A的CPU share参数值减少100,此时,虚拟机A的CPUshare参数值为200,返回执行主机指示虚拟机在内部检测自身的性能指标的步骤,直到主机确定虚拟机的性能指标在设定指标范围5(1±1%)ms内;若虚拟机A在内部检测到自身的性能指标为6ms,虚拟机A将上述性能指标发送给主机,主机确定该性能指标大于设定指标范围的下限值5(1-1%)ms,此时,等待下一检测周期执行从虚拟机外部周期性检测虚拟机的处理器CPU使用率,确定虚拟机的当前工作状态的步骤。
如图2所示,在具体实施中,主机在执行虚拟机负载调控方法时,包括以下步骤:
S201,主机从虚拟机外部检测虚拟机的CPU使用率;
S202,主机比对S201中的CPU使用率和设定使用率范围。若CPU使用率大于设定使用率范围的上限,则执行S203;若CPU使用率小于设定使用率范围的下限,执行S206-S208;若CPU使用率位于设定使用率范围内,则执行S201(图中未示出)。
S203,主机指示虚拟机从虚拟机内部检测自身的性能指标;
S204,主机比对步骤S203中的性能指标与设定指标范围;若性能指标大于设定指标范围的上限,则执行步骤S205;若性能指标小于或者等于设定指标范围的上限,执行步骤S201。
S205,主机按照设定规则,增加虚拟机的CPU share参数值,并执行步骤S203。
S206,主机指示虚拟机从虚拟机内部检测自身的性能指标;
S207,主机比对步骤S206中的性能指标与设定指标范围;若性能指标小于设定指标范围的下限,则执行步骤S208;若性能指标大于或者等于设定指标范围的下限,执行步骤S201。
S208,主机按照设定规则,减少虚拟机的CPU share参数值,并执行步骤S206。
本申请实施例提供了一种虚拟机负载调控装置,如图3所示,应用于主机中,所述主机包括虚拟机,该装置包括:
确定模块31,用于从虚拟机外部周期性检测虚拟机的处理器CPU使用率,确定所述虚拟机的当前工作状态;
指示模块32,用于若确定所述虚拟机的当前工作状态为超负荷状态,则指示所述虚拟机从内部检测自身的性能指标;
分配模块33,用于若确定所述虚拟机从内部检测到的所述性能指标大于设定指标范围的上限,则为所述虚拟机分配CPU资源,并执行指示所述虚拟机从内部检测自身的性能指标的步骤,直到确定所述虚拟机的性能指标在所述设定指标范围内。
可选地,所述分配模块33还用于:
若确定所述虚拟机从内部检测到的所述性能指标小于或等于所述设定指标范围的上限,则等待下一检测周期执行从虚拟机外部周期性检测虚拟机的处理器CPU使用率,确定所述虚拟机的当前工作状态的步骤。
可选地,所述确定模块31具体用于:
若确定所述虚拟机的当前工作状态为空闲状态,则指示所述虚拟机从内部检测自身的性能指标;
所述分配模块33还用于:
若确定所述虚拟机从内部检测到的所述性能指标小于所述设定指标范围的下限,则释放所述虚拟机的CPU资源,并执行指示所述虚拟机从内部检测自身的性能指标的步骤,直到确定所述虚拟机的性能指标在设定指标范围内。
可选地,所述CPU使用率为所述虚拟机中各CPU的CPU使用率的和值的平均值,或者,
所述CPU使用率为所述虚拟机中各CPU的CPU使用率中的最大值。
可选地,还包括:设置模块34,所述设置模块34用于:
在所述虚拟机内设置性能指标检测工具;
所述指示模块32具体用于:
在确定所述虚拟机的当前工作状态为超负荷状态后,生成性能指标检测指令,所述性能指标检测指令用于指示所述性能指标检测工具检测所述虚拟机的性能指标。
如图4所示,本申请一实施例提供了一种计算机设备400,用于执行图1中的虚拟机负载调控方法,该设备包括存储器401、处理器402及存储在该存储器401上并可在该处理器402上运行的计算机程序,其中,上述处理器402执行上述计算机程序时实现上述虚拟机负载调控方法的步骤。
具体地,上述存储器401和处理器402能够为通用的存储器和处理器,这里不做具体限定,当处理器402运行存储器401存储的计算机程序时,能够执行上述虚拟机负载调控方法,用于解决现有技术中主机超负荷运行过程中的卡顿问题,本申请的主机从虚拟机外部周期检测虚拟机的当前工作状态,而不是在虚拟机内部检测虚拟机的工作状态,这样,可以提高主机的检测效率;主机在确定虚拟机处于超负荷状态后,指示虚拟机从内部检测自身的性能指标,主机在确定性能指标大于设定范围的上限,则为所述虚拟机分配CPU资源(也就是主机的CPU资源),并重复执行指示虚拟机检测自身的性能指标的步骤,直到确定虚拟机的性能指标在设定指标范围内,这样,提高了虚拟机的处理能力,减少了用户的卡顿,提高用户的体验,实现动态调整虚拟机CPU资源的目的。
对应于图1中的虚拟机负载调控方法,本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述虚拟机负载调控方法的步骤。
具体地,该存储介质能够为通用的存储介质,如移动磁盘、硬盘等,该存储介质上的计算机程序被运行时,能够执行上述虚拟机负载调控方法,用于解决现有技术中主机超负荷运行过程中的卡顿问题,本申请的主机从虚拟机外部周期检测虚拟机的当前工作状态,而不是在虚拟机内部检测虚拟机的工作状态,这样,可以提高主机的检测效率;主机在确定虚拟机处于超负荷状态后,指示虚拟机从内部检测自身的性能指标,主机在确定性能指标大于设定范围的上限,则为所述虚拟机分配CPU资源(也就是主机的CPU资源),并重复执行指示虚拟机检测自身的性能指标的步骤,直到确定虚拟机的性能指标在设定指标范围内,这样,提高了虚拟机的处理能力,减少了用户的卡顿,提高用户的体验,实现动态调整虚拟机CPU资源的目的。
在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请提供的实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释,此外,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
最后应说明的是:以上所述实施例,仅为本申请的具体实施方式,用以说明本申请的技术方案,而非对其限制,本申请的保护范围并不局限于此,尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本申请实施例技术方案的精神和范围。都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。

Claims (11)

1.一种虚拟机负载调控方法,其特征在于,该方法包括:
主机从虚拟机外部周期性检测虚拟机的处理器CPU使用率,确定所述虚拟机的当前工作状态;
主机若确定所述虚拟机的当前工作状态为超负荷状态,则指示所述虚拟机从内部检测自身的性能指标;所述性能指标表征虚拟机运行设定CPU运行能力代码花费的时间;
主机若确定所述虚拟机从内部检测到的所述性能指标大于设定指标范围的上限,则为所述虚拟机分配CPU资源,并执行指示所述虚拟机从内部检测自身的性能指标的步骤,直到确定所述虚拟机的性能指标在所述设定指标范围内。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
若确定所述虚拟机从内部检测到的所述性能指标小于或等于所述设定指标范围的上限,则等待下一检测周期执行所述从虚拟机外部周期性检测虚拟机的处理器CPU使用率,确定所述虚拟机的当前工作状态的步骤。
3.如权利要求1所述的方法,其特征在于,所述方法还包括:
若确定所述虚拟机的当前工作状态为空闲状态,则指示所述虚拟机从内部检测自身的性能指标;
若确定所述虚拟机从内部检测到的所述性能指标小于所述设定指标范围的下限,则释放所述虚拟机的CPU资源,并执行指示所述虚拟机从内部检测自身的性能指标的步骤,直到确定所述虚拟机的性能指标在设定指标范围内。
4.如权利要求1所述的方法,其特征在于,所述CPU使用率为所述虚拟机中各CPU的CPU使用率的和值的平均值,或者,
所述CPU使用率为所述虚拟机中各CPU的CPU使用率中的最大值。
5.如权利要求1所述的方法,其特征在于,所述方法还包括:
在所述虚拟机内设置性能指标检测工具;
所述若确定所述虚拟机的当前工作状态为超负荷状态,则指示所述虚拟机从内部检测自身的性能指标,包括:
在确定所述虚拟机的当前工作状态为超负荷状态后,生成性能指标检测指令,所述性能指标检测指令用于指示所述性能指标检测工具检测所述虚拟机的性能指标。
6.一种虚拟机负载调控装置,其特征在于,该装置包括:
确定模块,用于主机从虚拟机外部周期性检测虚拟机的处理器CPU使用率,确定所述虚拟机的当前工作状态;
指示模块,用于若确定所述虚拟机的当前工作状态为超负荷状态,则指示所述虚拟机从内部检测自身的性能指标;所述性能指标表征虚拟机运行设定CPU运行能力代码花费的时间;
分配模块,用于若确定所述虚拟机从内部检测到的所述性能指标大于设定指标范围的上限,则为所述虚拟机分配CPU资源,并执行指示所述虚拟机从内部检测自身的性能指标的步骤,直到确定所述虚拟机的性能指标在所述设定指标范围内。
7.如权利要求6所述的装置,其特征在于,所述分配模块还用于:
若确定所述虚拟机从内部检测到的所述性能指标小于或等于所述设定指标范围的上限,则等待下一检测周期执行所述从虚拟机外部周期性检测虚拟机的处理器CPU使用率,确定所述虚拟机的当前工作状态的步骤。
8.如权利要求6所述的装置,其特征在于,所述确定模块还用于:
若确定所述虚拟机的当前工作状态为空闲状态,则指示所述虚拟机从内部检测自身的性能指标;
所述分配模块还用于:
若确定所述虚拟机从内部检测到的所述性能指标小于所述设定指标范围的下限,则释放所述虚拟机的CPU资源,并执行指示所述虚拟机从内部检测自身的性能指标的步骤,直到确定所述虚拟机的性能指标在设定指标范围内。
9.如权利要求6所述的装置,其特征在于,所述CPU使用率为所述虚拟机中各CPU的CPU使用率的和值的平均值,或者,
所述CPU使用率为所述虚拟机中各CPU的CPU使用率中的最大值。
10.如权利要求6所述的装置,其特征在于,还包括:设置模块,所述设置模块用于:
在所述虚拟机内设置性能指标检测工具;
所述指示模块具体用于:
在确定所述虚拟机的当前工作状态为超负荷状态后,生成性能指标检测指令,所述性能指标检测指令用于指示所述性能指标检测工具检测所述虚拟机的性能指标。
11.一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现上述权利要求1-5中任一项所述的方法的步骤。
CN201810510808.2A 2018-05-24 2018-05-24 一种虚拟机负载调控方法和装置 Active CN108804225B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810510808.2A CN108804225B (zh) 2018-05-24 2018-05-24 一种虚拟机负载调控方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810510808.2A CN108804225B (zh) 2018-05-24 2018-05-24 一种虚拟机负载调控方法和装置

Publications (2)

Publication Number Publication Date
CN108804225A CN108804225A (zh) 2018-11-13
CN108804225B true CN108804225B (zh) 2021-01-01

Family

ID=64091669

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810510808.2A Active CN108804225B (zh) 2018-05-24 2018-05-24 一种虚拟机负载调控方法和装置

Country Status (1)

Country Link
CN (1) CN108804225B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112783713A (zh) * 2019-11-08 2021-05-11 深信服科技股份有限公司 一种多核虚拟机卡顿的处理方法、装置、设备和存储介质

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8370835B2 (en) * 2009-03-12 2013-02-05 Arend Erich Dittmer Method for dynamically generating a configuration for a virtual machine with a virtual hard disk in an external storage device
CN102143046B (zh) * 2010-08-25 2015-03-11 华为技术有限公司 负载均衡的方法、设备和系统
CN102523209B (zh) * 2011-12-06 2015-07-08 北京航空航天大学 安全检测虚拟机的动态调整方法及动态调整装置
US20140007097A1 (en) * 2012-06-29 2014-01-02 Brocade Communications Systems, Inc. Dynamic resource allocation for virtual machines
US9117080B2 (en) * 2013-07-05 2015-08-25 Bitdefender IPR Management Ltd. Process evaluation for malware detection in virtual machines
CN104679591B (zh) * 2013-11-28 2018-05-25 国际商业机器公司 用于在云环境中进行资源分配的方法和装置
CN103870341A (zh) * 2014-03-12 2014-06-18 汉柏科技有限公司 一种调整虚拟机资源的方法和系统
CN104283946B (zh) * 2014-09-26 2017-08-25 东北大学 一种单物理机下多虚拟机的资源自适应调整系统及方法
CN104932963B (zh) * 2015-05-29 2019-03-08 Oppo广东移动通信有限公司 管理终端的方法及装置
CN106648885A (zh) * 2016-10-17 2017-05-10 深圳市深信服电子科技有限公司 虚拟机资源的动态调配方法、装置及系统
CN107273182B (zh) * 2017-06-06 2020-05-15 武汉纺织大学 一种虚拟机资源动态扩充方法及系统
CN107463433A (zh) * 2017-08-18 2017-12-12 郑州云海信息技术有限公司 管理虚拟机的资源的方法和装置

Also Published As

Publication number Publication date
CN108804225A (zh) 2018-11-13

Similar Documents

Publication Publication Date Title
US9672075B2 (en) Method, apparatus, and system for implementing hot migration of virtual machine
US10664318B2 (en) Method and apparatus for allocating computing resources of processor
EP3296871B1 (en) Central processing unit resource allocation method and computing node
US9529609B2 (en) Tracking guest memory characteristics for memory scheduling
EP3402163B1 (en) Method and device for managing resources in cloud platform
CN111078363B (zh) 一种虚拟机的numa节点调度方法、装置、设备及介质
US20170017511A1 (en) Method for memory management in virtual machines, and corresponding system and computer program product
US9547510B2 (en) Tracking guest memory characteristics for memory scheduling
US20160378557A1 (en) Task allocation determination apparatus, control method, and program
US20160196157A1 (en) Information processing system, management device, and method of controlling information processing system
CN107273182B (zh) 一种虚拟机资源动态扩充方法及系统
EP2527980A2 (en) Load balancing
CN104598298A (zh) 基于虚拟机当前工作性质以及任务负载的虚拟机调度算法
US20160154676A1 (en) Method of Resource Allocation in a Server System
CN111190739A (zh) 一种资源分配方法、装置、电子设备及存储介质
CN108804225B (zh) 一种虚拟机负载调控方法和装置
CN110471769B (zh) 一种虚拟机的资源管理方法及装置
CN106293805A (zh) 程序加载的方法及装置
CN106775925B (zh) 一种虚拟机cpu的限额处理方法和装置
CN114816766B (zh) 一种计算资源分配方法及其相关组件
CN112162864B (zh) 一种云资源分配方法、装置及存储介质
CN109002347B (zh) 一种虚拟机内存分配方法、装置及系统
CN110955616B (zh) 用于访问共享资源的系统和方法
KR102090306B1 (ko) 멀티 코어 시스템에서 태스크를 분배하기 위한 방법 및 그 전자 장치
JP2006065430A (ja) 仮想計算機性能変更方法

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