CN108196942B - 一种内存超分配虚拟机的快速启动方法 - Google Patents

一种内存超分配虚拟机的快速启动方法 Download PDF

Info

Publication number
CN108196942B
CN108196942B CN201810100750.4A CN201810100750A CN108196942B CN 108196942 B CN108196942 B CN 108196942B CN 201810100750 A CN201810100750 A CN 201810100750A CN 108196942 B CN108196942 B CN 108196942B
Authority
CN
China
Prior art keywords
virtual machine
memory
parameters
real
value
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
CN201810100750.4A
Other languages
English (en)
Other versions
CN108196942A (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.)
Shanghai hemiaochuangxian Intelligent Technology Co.,Ltd.
Original Assignee
Chengdu Hemiaoyun Technology 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 Chengdu Hemiaoyun Technology Co ltd filed Critical Chengdu Hemiaoyun Technology Co ltd
Priority to CN201810100750.4A priority Critical patent/CN108196942B/zh
Publication of CN108196942A publication Critical patent/CN108196942A/zh
Application granted granted Critical
Publication of CN108196942B publication Critical patent/CN108196942B/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/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
    • 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
    • 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
    • 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/45575Starting, stopping, suspending or resuming virtual machine instances
    • 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

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)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

本发明涉及一种内存超分配虚拟机的快速启动方法,解决的是虚拟机无法快速启动的技术问题,通过采用包括:步骤1,配置虚拟机参数、KSM服务器及运行任务,定义调整条件,启动虚拟机,实时检测参数;主机参数与虚拟机参数,主机参数包括主机内存值,虚拟机参数包括虚拟机内存值;步骤2,实时判定实时检测参数与调整条件,若实时检测参数满足调整条件,则执行步骤3,若实时检测参数不满足调整条件,则执行步骤4;步骤3,调整虚拟机的内存值,执行步骤2;步骤4,减缓KSM合并速度;步骤5,直至虚拟机启动完毕的技术方案,较好的解决了该问题,可用于虚拟机启动中。

Description

一种内存超分配虚拟机的快速启动方法
技术领域
本发明涉及计算机技术领域,具体涉及一种内存超分配虚拟机的快速启动方法。
背景技术
很多情况下都需要快速启动主机上的所有虚拟机,以保证所有虚拟机适时达到可用状态。虚拟机内存超分配是让所有虚拟机使用的内存资源超过实际的物理资源,这是因为虚拟机中有很多资源是相同的,通过合并其中公共资源所占内存,能大幅度减少内存消耗,让更多数据缓存于内存中,从而提高性能。当主机内存超分配并需要同时启动所有虚拟机时,部分虚拟机会因为内存不足而无法启动。例如每个虚拟机配置内存为4G,1个128G内存的主机,扣除主机自身运行占用的约8G内存,每个虚拟机自身占用约200M内存,最多只能同时启动28个虚拟机[(128-8)/4.2]。如果此时创建并启动了29个虚拟机,必然会有其中1个虚拟机无法启动。
现有的存在的虚拟机无法快速启动的技术问题,因此提供一种内存超分配虚拟机的快速启动方法就很有必要。
发明内容
本发明所要解决的技术问题是现有技术中存在的虚拟机超内存启动慢的技术问题。提供一种新的内存超分配虚拟机的快速启动方法,该内存超分配虚拟机的快速启动方法具有虚拟机内存超出主机内存后启动速度快的特点。
为解决上述技术问题,采用的技术方案如下:
一种内存超分配虚拟机的快速启动方法,所述快速启动方法包括:
步骤1,配置虚拟机参数、KSM服务器及运行任务,定义调整条件,启动虚拟机,实时检测参数;
主机参数与虚拟机参数,主机参数包括主机内存值,虚拟机参数包括虚拟机内存值;
步骤2,实时判定实时检测参数与调整条件,若实时检测参数满足调整条件,则执行步骤3,若实时检测参数不满足调整条件,则执行步骤4;
步骤3,调整虚拟机的内存值,执行步骤2;
步骤4,减缓KSM合并速度;
步骤5,直至虚拟机启动完毕。
本发明的原理:虚拟机启动配置采用:指虚拟机可达最大内存,定义为4G;当前内存,定义为3G。调整内存合并速度,动态调整配置可以根据需要调节KSM进程合并内存的速度,以及资源占用,在速度和资源占用间取得平衡。虚拟机内存调整,在主机配置一个定时任务,检查主机内存空闲、KSM状态、虚拟机当前内存值及使用繁忙情况,及时调整虚拟机内存值,以实现超内存分配虚拟机快速启动和确保不影响用户体验。可用内存达到合理值之后再调慢KSM合并速度,减少其内存和CPU消耗。
上述方案中,为优化,进一步地,所述实时检测参数包括主机内存Free值、KSM状态及虚拟机当前内存值。
进一步地,所述满足调整条件为主机内存Free值满足预设的主机内存Free值,KSM状态满足KSM预设条件值以及虚拟机当前内存值大于主机内存值。
进一步地,所述调整虚拟机的内存值包括检测所有的虚拟机实时CPU占用率并比较大小,将CPU占用率最大的虚拟机的内存调整为额定值。
本发明的有益效果:
效果一,根据物理和超分配大小在启动和运行时合理分配虚拟机内存,在启动时加快内存合并速度,在合并到一定阶段后按需释放内存给相应虚拟机,逐步减少合并本身的消耗从而减少对虚拟机正常运行的影响,能够提高虚拟机启动速度。
附图说明
下面结合附图和实施例对本发明进一步说明。
图1,实施例1的快速启动方法流程示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
实施例1
本实施例提供一种内存超分配虚拟机的快速启动方法,如图1,所述快速启动方法包括:
步骤1,配置虚拟机参数、KSM服务器及运行任务,定义调整条件,启动虚拟机,实时检测参数;
主机参数与虚拟机参数,主机参数包括主机内存值,虚拟机参数包括虚拟机内存值;
步骤2,实时判定实时检测参数与调整条件,若实时检测参数满足调整条件,则执行步骤3,若实时检测参数不满足调整条件,则执行步骤4;
步骤3,调整虚拟机的内存值,执行步骤2;
步骤4,减缓KSM合并速度;
步骤5,直至虚拟机启动完毕。
具体地,所述实时检测参数包括主机内存Free值、KSM状态及虚拟机当前内存值。
具体地,所述满足调整条件为主机内存Free值满足预设的主机内存Free值,KSM状态满足KSM预设条件值以及虚拟机当前内存值大于主机内存值。
具体地,所述调整虚拟机的内存值包括检测所有的虚拟机实时CPU占用率并比较大小,将CPU占用率最大的虚拟机的内存调整为额定值。
虚拟机启动配置采用:指虚拟机可达最大内存,定义为4G;当前内存,定义为3G。物理内存为128GB,同时启动35个虚拟机,每个虚拟机启动时分配3GB、运行时分配4GB内存,虚拟机所需内存为35*4.2=147GB,加上主机内存占用约10GB,共需157GB。系统调整时间也会限制最大可启动虚拟机数量,启动过多,也会造成超出的虚拟机因内存不足无法启动。
KSM调整,进程在单个CPU占用近90%,可使KSM在启动30s内看到内存Free值开始上升,然后最快可达10G/min。
虚拟机内存调整:当所有条件如主机内存Free值、KSM状态、虚拟机当前内存值都满足调整需要的时候,检查所有虚拟机CPU占用率,每次把占用率最高的虚拟机优先调整内存为额定值。当虚拟机CPU占用率极低时,直接跳过,暂不调整内存。以实现超内存分配虚拟机快速启动和确保不影响用户体验。
数据对比,本实施例中主机128G内存,虚拟机4G内存,调整前最多仅能运行28个虚拟机,内存超分配后可运行35个虚拟机。表1是启动到正常运行时间对比,可见使用增加了1/4的虚拟机有效提高了资源使用率,并未多增加太多启动时间。
Figure BDA0001566259760000051
表1
尽管上面对本发明说明性的具体实施方式进行了描述,以便于本技术领域的技术人员能够理解本发明,但是本发明不仅限于具体实施方式的范围,对本技术领域的普通技术人员而言,只要各种变化只要在所附的权利要求限定和确定的本发明精神和范围内,一切利用本发明构思的发明创造均在保护之列。

Claims (4)

1.一种内存超分配虚拟机的快速启动方法,其特征在于:所述快速启动方法包括:
步骤1,配置虚拟机参数、KSM服务器及运行任务,定义调整条件,启动虚拟机,实时检测参数;主机参数与虚拟机参数,主机参数包括主机内存值,虚拟机参数包括虚拟机内存值;
步骤2,实时判定实时检测参数与调整条件,若实时检测参数满足调整条件,则执行步骤3,若实时检测参数不满足调整条件,则执行步骤4;
步骤3,调整虚拟机的内存值,执行步骤2;
步骤4,减缓KSM合并速度;
步骤5,直至虚拟机启动完毕;
调整内存合并速度,动态调整配置可以根据需要调节KSM进程合并内存的速度,以及资源占用。
2.根据权利要求1所述的内存超分配虚拟机的快速启动方法,其特征在于:所述实时检测参数包括主机内存Free值、KSM状态及虚拟机当前内存值。
3.根据权利要求2所述的内存超分配虚拟机的快速启动方法,其特征在于:所述满足调整条件为主机内存Free值满足预设的主机内存Free值,KSM状态满足KSM预设条件值以及虚拟机当前内存值大于主机内存值。
4.根据权利要求1所述的内存超分配虚拟机的快速启动方法,其特征在于:所述调整虚拟机的内存值包括检测所有的虚拟机实时CPU占用率并比较大小,将CPU占用率最大的虚拟机的内存调整为额定值。
CN201810100750.4A 2018-02-01 2018-02-01 一种内存超分配虚拟机的快速启动方法 Active CN108196942B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810100750.4A CN108196942B (zh) 2018-02-01 2018-02-01 一种内存超分配虚拟机的快速启动方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810100750.4A CN108196942B (zh) 2018-02-01 2018-02-01 一种内存超分配虚拟机的快速启动方法

Publications (2)

Publication Number Publication Date
CN108196942A CN108196942A (zh) 2018-06-22
CN108196942B true CN108196942B (zh) 2021-09-03

Family

ID=62592327

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810100750.4A Active CN108196942B (zh) 2018-02-01 2018-02-01 一种内存超分配虚拟机的快速启动方法

Country Status (1)

Country Link
CN (1) CN108196942B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110673927B (zh) * 2019-09-27 2022-03-22 北京浪潮数据技术有限公司 一种虚拟机的调度方法和装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103268250A (zh) * 2013-04-23 2013-08-28 深圳市京华科讯科技有限公司 基于虚拟化的内存复用系统
CN104050008A (zh) * 2013-03-15 2014-09-17 中兴通讯股份有限公司 一种内存超分配管理系统及方法
CN104965749A (zh) * 2014-10-15 2015-10-07 哈尔滨安天科技股份有限公司 一种kvm虚拟机快照恢复优化方法及系统
CN107273212A (zh) * 2017-06-23 2017-10-20 郑州云海信息技术有限公司 一种动态分配内存的方法及系统
CN107341060A (zh) * 2017-07-17 2017-11-10 郑州云海信息技术有限公司 一种虚拟机内存分配方法和装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104050008A (zh) * 2013-03-15 2014-09-17 中兴通讯股份有限公司 一种内存超分配管理系统及方法
CN103268250A (zh) * 2013-04-23 2013-08-28 深圳市京华科讯科技有限公司 基于虚拟化的内存复用系统
CN104965749A (zh) * 2014-10-15 2015-10-07 哈尔滨安天科技股份有限公司 一种kvm虚拟机快照恢复优化方法及系统
CN107273212A (zh) * 2017-06-23 2017-10-20 郑州云海信息技术有限公司 一种动态分配内存的方法及系统
CN107341060A (zh) * 2017-07-17 2017-11-10 郑州云海信息技术有限公司 一种虚拟机内存分配方法和装置

Also Published As

Publication number Publication date
CN108196942A (zh) 2018-06-22

Similar Documents

Publication Publication Date Title
CN107391317B (zh) 一种数据恢复的方法、装置、设备及计算机可读存储介质
EP3631628A1 (en) Method and apparatus for implementing virtual gpu and system
US20130219404A1 (en) Computer System and Working Method Thereof
US10614542B2 (en) High granularity level GPU resource allocation method and system
CN104199784B (zh) 一种基于分级存储的数据迁移方法及装置
CN110673798B (zh) 一种存储系统及其io落盘方法和装置
US11010094B2 (en) Task management method and host for electronic storage device
CN103324508A (zh) 启动应用的方法及装置
CN110018781B (zh) 磁盘流控方法、装置以及电子设备
CN109684090A (zh) 一种资源分配方法和装置
WO2016202154A1 (zh) 一种gpu资源的分配方法及系统
US10877790B2 (en) Information processing apparatus, control method and storage medium
CN111753065A (zh) 请求响应方法、系统、计算机系统和可读存储介质
CN108196942B (zh) 一种内存超分配虚拟机的快速启动方法
CN112256383A (zh) 虚拟机的cpu核心数的调整方法、装置、设备及介质
JP2021521541A (ja) アクセラレータ要求を処理する際の中央処理装置の処理品質保証の実施
CN110674064B (zh) 一种数据传输方法、装置、设备及计算机可读存储介质
CN110413206B (zh) 存储系统中的操作控制方法、设备和计算机程序产品
CN118051299A (zh) 一种云平台虚拟机性能调控方法、系统、设备及介质
CN106775925B (zh) 一种虚拟机cpu的限额处理方法和装置
CN111314249B (zh) 一种5g数据转发平面的避免数据包丢失的方法和服务器
CN103955397A (zh) 一种基于微架构感知的虚拟机调度多策略选择方法
CN114816766B (zh) 一种计算资源分配方法及其相关组件
CN107391254B (zh) 智能终端及其资源配置方法、计算机可读存储介质
WO2024021485A1 (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
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20211101

Address after: Building C, No.888, Huanhu West 2nd Road, Lingang New District, China (Shanghai) pilot Free Trade Zone, Pudong New Area, Shanghai

Patentee after: Shanghai hemiaochuangxian Intelligent Technology Co.,Ltd.

Address before: 610000 Building B, Building No. 4, 200 Tianfu Fifth Street, Chengdu High-tech Zone, Sichuan Province, 1-3 Floors

Patentee before: CHENGDU HEMIAOYUN TECHNOLOGY CO.,LTD.