CN115904616A - 虚拟机热迁移方法、装置、设备及介质 - Google Patents

虚拟机热迁移方法、装置、设备及介质 Download PDF

Info

Publication number
CN115904616A
CN115904616A CN202211375531.XA CN202211375531A CN115904616A CN 115904616 A CN115904616 A CN 115904616A CN 202211375531 A CN202211375531 A CN 202211375531A CN 115904616 A CN115904616 A CN 115904616A
Authority
CN
China
Prior art keywords
memory
virtual machine
amount
migration
determining
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
CN202211375531.XA
Other languages
English (en)
Other versions
CN115904616B (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.)
Beijing Topsec Technology Co Ltd
Beijing Topsec Network Security Technology Co Ltd
Beijing Topsec Software Co Ltd
Original Assignee
Beijing Topsec Technology Co Ltd
Beijing Topsec Network Security Technology Co Ltd
Beijing Topsec Software 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 Beijing Topsec Technology Co Ltd, Beijing Topsec Network Security Technology Co Ltd, Beijing Topsec Software Co Ltd filed Critical Beijing Topsec Technology Co Ltd
Priority to CN202211375531.XA priority Critical patent/CN115904616B/zh
Publication of CN115904616A publication Critical patent/CN115904616A/zh
Application granted granted Critical
Publication of CN115904616B publication Critical patent/CN115904616B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

本公开实施例涉及一种虚拟机热迁移方法、装置、设备及介质,涉及计算机技术领域,其中该方法包括:响应于热迁移操作,确定虚拟机中的待回收内存量;其中,待回收内存量小于虚拟机的空闲内存量;将虚拟机中与待回收内存量对应的内存回收,并将内存回收之后的虚拟机从源服务器迁移至目标服务器。本公开实施例,在虚拟机的热迁移过程中,无需再进行内存的申请,直接进行虚拟机的迁移即可,从而降低了迁移过程中虚拟机的内存使用率,并且未将虚拟机中全部的内存回收,为业务进程的运行预留了内存,使得业务进程能够申请到相应的内存,保证了业务进程的正常运行。

Description

虚拟机热迁移方法、装置、设备及介质
技术领域
本公开涉及计算机技术领域,尤其涉及一种虚拟机热迁移方法、装置、设备及介质。
背景技术
随着计算机技术的发展,在虚拟机不停机的情况下,可以实现虚拟机从源服务器至目标服务器的迁移,这种不停机的虚拟机迁移被称为虚拟机热迁移,在虚拟机热迁移的过程中,可以不将虚拟机中的全部内存拷贝至目标服务器。
相关技术中,在虚拟机热迁移的过程中,通常通过虚拟机中预设的迁移进程周期性地申请内存,并将申请到的内存标记为未使用内存,然后可以在修改过的内存中过滤该未使用内存之后拷贝至目标服务器。但是,在周期性地申请内存的过程中,会占用大量内存,使得虚拟机的内存占用率较高,业务进程无法申请到足够的内存,影响业务进程的正常运行。
发明内容
为了解决上述技术问题或者至少部分地解决上述技术问题,本公开提供了一种虚拟机热迁移方法、装置、设备及介质。
本公开实施例提供了一种虚拟机热迁移方法,所述方法包括:
响应于热迁移操作,确定虚拟机中的待回收内存量;其中,所述待回收内存量小于所述虚拟机的空闲内存量;
将所述虚拟机中与所述待回收内存量对应的内存回收,并将内存回收之后的虚拟机从源服务器迁移至目标服务器。
本公开实施例还提供了一种虚拟机热迁移装置,所述装置包括:
确定模块,用于响应于热迁移操作,确定虚拟机中的待回收内存量;其中,所述待回收内存量小于所述虚拟机的空闲内存量;
回收模块,用于将所述虚拟机中与所述待回收内存量对应的内存回收,并将内存回收之后的虚拟机从源服务器迁移至目标服务器。
本公开实施例还提供了一种电子设备,所述电子设备包括:处理器;用于存储所述处理器可执行指令的存储器;所述处理器,用于从所述存储器中读取所述可执行指令,并执行所述指令以实现如本公开实施例提供的虚拟机热迁移方法。
本公开实施例还提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序用于执行如本公开实施例提供的虚拟机热迁移方法。
本公开实施例提供的技术方案与现有技术相比具有如下优点:本公开实施例中提供的虚拟机热迁移方案,响应于热迁移操作,确定虚拟机中的待回收内存量;其中,待回收内存量小于虚拟机的空闲内存量;将虚拟机中与待回收内存量对应的内存回收,并将内存回收之后的虚拟机从源服务器迁移至目标服务器。采用上述技术方案,在对虚拟机进行热迁移之前,将待回收内存量对应的内存回收,将对虚拟机的热迁移转换为了对回收了部分内存的虚拟机的热迁移,并且由于该虚拟机中待回收内存量对应的内存已经被回收,在虚拟机的热迁移过程中,无需再进行内存的申请,直接进行虚拟机的迁移即可,从而降低了迁移过程中虚拟机的内存使用率,并且未将虚拟机中全部的内存回收,为业务进程的运行预留了内存,使得业务进程能够申请到相应的内存,保证了业务进程的正常运行。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本公开实施例提供的一种虚拟机热迁移方法的流程示意图;
图2为本公开实施例提供的另一种虚拟机热迁移方法的流程示意图;
图3为本公开实施例提供的一种虚拟机热迁移方法的框架示意图;
图4为本公开实施例提供的又一种虚拟机热迁移方法的流程示意图;
图5为本公开实施例提供的一种虚拟机热迁移装置的结构示意图;
图6为本公开实施例提供的一种电子设备的结构示意图。
具体实施方式
为了能够更清楚地理解本公开的上述目的、特征和优点,下面将对本公开的方案进行进一步描述。需要说明的是,在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本公开,但本公开还可以采用其他不同于在此描述的方式来实施;显然,说明书中的实施例只是本公开的一部分实施例,而不是全部的实施例。
为了解决上述问题,本公开实施例提供了一种虚拟机热迁移方法,下面结合具体的实施例对该方法进行介绍。
图1为本公开实施例提供的一种虚拟机热迁移方法的流程示意图,该方法可以由虚拟机热迁移装置执行,其中该装置可以采用软件和/或硬件实现,一般可集成在电子设备中。如图1所示,该方法包括:
步骤101,响应于热迁移操作,确定虚拟机中的待回收内存量;其中,待回收内存量小于虚拟机的空闲内存量。
虚拟机可以为通过软件模拟的一个计算机系统,该计算机系统具有硬件系统功能且可以运行在一个隔离环境中,本实施例对虚拟机的配置、系统等不做限制。虚拟机的热迁移又称动态迁移,热迁移是指在虚拟机保持提供服务的情况下,在不同的物理服务器之间进行虚拟机的迁移。
本公开实施例中,热迁移操作可以为指示虚拟机进行热迁移的操作,该热迁移操作可以包括手势控制操作(如点击、长按、双击等)、语音控制操作等等。待回收内存量可以为表征内存大小的参数,该待回收内存量可以为虚拟机在进行热迁移之前需要降低的内存量,该待回收内存量可以理解为虚拟机需要归还回源服务器的内存量。空闲内存量可以为表征内存大小的参数,该空闲内存量可以为虚拟机中当前未使用的内存量,该空闲内存量可以理解为虚拟机中的进程可以申请到的内存量。
在本公开实施例中,虚拟机热迁移装置可以展示给用户命令行输入窗口,用户在该输入窗口中输入虚拟机的热迁移命令。虚拟机热迁移装置接收到该热迁移命令之后,确定虚拟机中的空闲内存量,并确定小于该空闲内存量的待回收内存量。
其中,确定虚拟机中的待回收内存量的方法有多种,本实施例不做限制,例如,可以预先设置保留内存量,将空闲内存量与保留内存量的差确定为待回收内存量。
步骤102,将虚拟机中与待回收内存量对应的内存回收,并将内存回收之后的虚拟机从源服务器迁移至目标服务器。
其中,待回收内存量对应的内存可以为虚拟机中的部分空闲内存,该空闲内存可以为虚拟机当前未使用的内存。该待回收内存量对应的内存可以为虚拟机中内存大小为待回收内存量的内存。源服务器可以为虚拟机在热迁移前所在的物理服务器。目标服务器可以为虚拟机经过热迁移以后所在的物理服务器。
在本公开实施中,将虚拟机中与待回收内存量对应的内存回收的方法有多种,本实施例不做限制,示例说明如下:
一种可选的实施方式中,虚拟机热迁移装置可以将虚拟机的内存配置参数更改为虚拟机的内存总量和待回收内存量的差值,从而实现将待回收内存量对应的内存从虚拟机归还至源服务器。
另一种可选的实施方式中,将虚拟机中待回收内存量对应的内存回收,包括:将待回收内存量作为内存回收指令中内存参数的具体值,执行内存回收指令,以将虚拟机中与待回收内存量对应的部分空闲内存回收。
其中,内存回收指令可以为用于实现内存回收的指令,该内存回收指令可以为预先编辑好并保存在虚拟机热迁移装置中的指令,该内存回收指令可以包括具体执行虚拟机的内存回收机制等,本实施例不做限制。内存参数为表征回收内存的大小的参数,内存回收指令中,未填充待回收内存量之前,该内存参数可以为空或者预设值;填充待回收内存量之后,该内存参数为待回收内存量。
在本实施例中,可以预先在虚拟机热迁移装置中存储内存回收指令,在确定待回收内存量之后,将该待回收内存量作为内存回收指令中内存参数的具体值。进一步,运行该内存回收指令,将虚拟机中大小为待回收内存量的部分空闲内存进行回收。举例而言,内存回收指令可以为{"execute":"balloon","arguments":{"value":待回收内存量}},该内存回收指令表征当前使用气球(balloon)机制进行内存的回收,若待回收内存量为7吉字节(Gigabyte,GB),则填入待回收内存量之后的回收指令可以为{"execute":"balloon","arguments":{"value":7}}。可以理解地,进行内存回收之后的虚拟机的内存总量为内存回收之前虚拟机的内存总量和待回收内存量的差值。
上述方案中,使用了在虚拟机内能够运行的内存回收指令进行内存的回收,确保了该虚拟机热迁移方法能够适用于不同版本的虚拟机,提高了该虚拟机热迁移方法的适用性。
在一些实施例中,该虚拟机热迁移方法还包括:若在虚拟机的迁移过程中,虚拟机的空闲内存量小于目标内存量,则停止虚拟机的迁移,并为虚拟机配置内存量为待回收内存量的空闲内存。其中,目标内存量为执行目标业务进程所需的内存量。空闲内存量可以表征在迁移过程中虚拟机当前可以使用的内存大小。
在本实施例中,在进行虚拟机热迁移的过程中,仍可以在该虚拟机中运行业务进程,运行业务进程会占用虚拟机的空闲内存,若虚拟机的空闲内存不足以支持业务进程的运行,则停止该虚拟机的迁移,并且将大小为待回收内存量的内存归还至该虚拟机。例如,若虚拟机在进行内存回收之前的内存总量为10GB,待回收内存量为7GB,进行内存回收之后虚拟机的内存总量为3GB,若3GB中的空闲内存量为1GB,运行业务进程所需的目标内存量为5GB。空闲内存量小于目标内存量,则将7GB的内存归还给该虚拟机,归还之后,该虚拟机的空闲内存量为8GB,能够运行该业务进程。
举例而言,可以通过虚拟机中的balloon机制启用autodeflate功能,通过autodeflate功能,能够在虚拟机的空闲内存量不足时,自动释放源服务器中的内存给虚拟机。通过balloon机制归还内存至虚拟机后,虚拟机的空闲内存量增大,而正在执行的虚拟机热迁移,并不包括新归还的空闲内存,于是需要停止虚拟机的迁移。具体地,可以通过balloon机制中的change功能监控是否发生内存归还事件,如果监听到发生内存归还的事件,通过预设协议QMP(Qemu Monitor Protocol)执行{"execute":"migrate-pause"}和{"execute":"migrate","arguments":{"blk":false}}指令,通过上述两个指令能够实现虚拟机热迁移的暂停。
上述方案中,在虚拟机热迁移过程中,若空闲内存量小于运行业务进程所需的目标内存量,则停止热迁移,并将待回收内存量对应的内存归还至虚拟机,提高了热迁移过程中虚拟机的业务进程执行成功率,并且通过停止热迁移避免了目标服务器中的虚拟机与源服务器中的虚拟机内存中的数据不同。
本公开实施例提供的虚拟机热迁移方法,包括:响应于热迁移操作,确定虚拟机中的待回收内存量;其中,待回收内存量小于虚拟机的空闲内存量;将虚拟机中与待回收内存量对应的内存回收,并将内存回收之后的虚拟机从源服务器迁移至目标服务器。采用上述技术方案,在对虚拟机进行热迁移之前,将待回收内存量对应的内存回收,将对虚拟机的热迁移转换为了对回收了部分内存的虚拟机的热迁移,并且由于该虚拟机中待回收内存量对应的内存已经被回收,在虚拟机的热迁移过程中,无需再进行内存的申请,直接进行虚拟机的迁移即可,从而降低了迁移过程中虚拟机的内存使用率,并且未将虚拟机中全部的内存回收,为业务进程的运行预留了内存,使得业务进程能够申请到相应的内存,保证了业务进程的正常运行。
为了确定一个合适的待回收内存量,从而避免迁移至目标服务器的内存量过大,以及热迁移过程中虚拟机的内存不足,可以采用下述方法确定待回收内存量。具体地,图2为本公开实施例提供的另一种虚拟机热迁移方法的流程示意图,如图2所示,确定虚拟机中的待回收内存量,包括:
步骤201,确定虚拟机的使用内存量;其中,使用内存量表征虚拟机在热迁移之前使用的内存量。
在本实施例中,虚拟机热迁移装置可以在热迁移之前,将该虚拟机正在使用中的内存的大小确定为使用内存量。可以理解地,若该使用内存量的确定时间点越靠近虚拟机进行热迁移的时间点,则该使用内存量越能更准确地表征在热迁移之前虚拟机已经使用的内存的大小。
步骤202,确定虚拟机的额外内存量;其中,额外内存量表征虚拟机在热迁移过程中使用的内存量。
该额外内存量可以为对虚拟机在热迁移过程增加使用的内存量的预测值。在本实施例中,确定虚拟机的额外内存量的方法有多种,本实施例不做限制,示例说明如下:
一种可选的实施方式中,可以确定各历史热迁移过程中,虚拟机增加使用的内存量,得到多个历史额外内存量,将多个历史额外内存量中的最大值确定为额外内存量。
另一种可选的实施方式中,确定虚拟机的额外内存量,包括:
步骤a1,根据源服务器的带宽、目标服务器的带宽、虚拟机的内存总量、预设迁移起始时间点确定迁移时间范围。
其中,带宽又称网络带宽,通过带宽可以表征服务器在固定时长内的数据传输量,即通过该带宽能够表征服务器的数据传输速率。源服务器的带宽可以表征源服务器的数据传输速率,目标服务器的带宽可以表征目标服务器的数据传输速率。虚拟机的内存总量可以为源服务器中分配给虚拟机的全部内存量。迁移起始时间点可以为虚拟机开始进行热迁移的时间点。迁移时间范围可以为进行虚拟机迁移所处的时间段或者时间区间,该迁移时间范围可以理解为通过预测确定的进行虚拟机热迁移的时间范围。
在本实施例中,根据源服务器的带宽、目标服务器的带宽、虚拟机的内存总量、预设迁移起始时间点确定迁移时间范围的方法有多种,本实施例不做限制,示例说明如下:
一种可选的实施方式中,可以确定源服务器的带宽和目标服务器的带宽中的最小值为初始带宽,将虚拟机的内存总量除以该初始带宽,得到目标时长,将迁移起始时间点经过该目标时长的时间点确定为目标时间点,将该迁移起始时间点和目标时间点确定为迁移时间范围。
另一种可选的实施方式中,根据源服务器的带宽、目标服务器的带宽、虚拟机的内存总量、预设迁移起始时间点确定迁移时间范围,包括:将源服务器的带宽和目标服务器的带宽的最小值确定为初始带宽;将预设系数和初始带宽的乘积确定为目标带宽;其中,预设系数表征虚拟机迁移时所分配的带宽比例;将内存总量和目标带宽的商确定为迁移时长;将迁移起始时间点经过迁移时长的时间点确定为迁移结束时间点,并将迁移起始时间点和迁移结束时间点确定为迁移时间范围。
其中,预设系数的取值范围可以为(0,1],通过该预设系数能够避免虚拟机热迁移占用过高的网络带宽,避免了其他业务进程无法获得足够的网络带宽,使得业务进程正常运行的概率提高。该预设系数的具体数值可以根据用户需求等进行设置,本实施例不做限制,例如该预设系数可以设置为30%。目标带宽可以为进行虚拟机热迁移所能占用的最大带宽。迁移时长可以为计算确定的进行虚拟机迁移所花费的时长,该迁移时长可以理解为通过预测确定的进行虚拟机热迁移的时长。并且,由于计算该迁移时长所使用的为虚拟机的内存总量,而在实际进行虚拟机热迁移时,进行迁移的内存量小于该内存总量,因而该迁移时长可能大于实际进行虚拟机热迁移所花费的时长。迁移起始时间点可以为虚拟机热迁移开始的时间点,迁移结束时间点可以为通过预测确定的虚拟机热迁移完成的时间点。
在本实施方式中,若源服务器的带宽为a,目标服务器的带宽为b,则初始带宽为min(a,b)。若预设系数为k,则目标带宽Ba=k×min(a,b)。若内存总量为R,则迁移时长To=R/Ba。将迁移起始时间点加上该迁移时长To,得到迁移结束时间点,将迁移起始时间点和迁移结束时间点之间的时间段确定为迁移时间范围。例如,若迁移起始时间点为14:00,迁移时长为2小时,则迁移结束时间点可以为16:00,迁移时间范围可以为从14:00至16:00的时间段。
步骤a2,获取虚拟机在多个历史日期的迁移时间范围对应的内存变化量。
步骤a3,根据多个内存变化量确定历史内存变化量。
其中,两个相邻的历史日期之间间隔预设天数,该历史日期可以为当前日期之前的日期,该历史日期的数量可以根据用户需求等进行设置,本实施例不做限制,例如,该历史日期的数量可以为5个。预设天数也可以根据用户需求等进行设置,本实施例也不做限制,例如若需要获取连续多天的内存变化量,则该预设天数可以为0天,若需要获取相邻多个星期的内存变化量,则该预设天数可以为6天。
在本实施例中,虚拟机热迁移装置可以确定该虚拟机在当前日期之前的多个历史日期,并获取各历史日期在迁移时间范围内对应的内存变化量,获得多个内存变化量。进一步的,根据该多个内存变化量确定历史内存变化量。
在本实施例中,根据多个内存变化量确定历史内存变化量的方法有多种,可以根据用户需求等进行设置,本实施例不做限制,示例说明如下:
一种可选的实施方式中,可以将多个内存变化量的最大值确定为历史内存变化量。
另一种可选的实施方式中,可以将该多个内存变化量进行加权求和,得到加权求和结果,将该加权求和结果作为历史内存变化量。举例而言,若历史日期的数量为5,预设天数为0天,则历史日期可以为当前日期的前5天,若该5天内的内存变化量分别为△M1、△M2、△M3、△M4、△M5,且各内存变化量对应的权重系数依次为k1、k2、k3、k4、k5,且k1+k2+k3+k4+k5=1,则历史内存变化量△MH=k1×△M1+k2×△M2+k3×△M3+k4×△M4+k5×△M5。
步骤a4,确定当前日期的迁移时间范围之前的目标时间范围,获取虚拟机在目标时间范围内对应的当前内存变化量。
其中,目标时间范围的时长和迁移时间范围的时长相同,并且该目标时间范围可以为与目标时间范围相邻的时间范围,例如,若迁移时间范围为14:00至16:00,则目标时间范围可以为12:00至14:00。
在本实施例中,可以将迁移起始时间点回溯目标时长的时间点确定为回溯时间点,将该回溯时间点和迁移起始时间点确定为目标时间范围,并将迁移起始时间点使用的内存量减去在回溯时间点使用的内存量,得到当前内存变化量。可选的,若以固定时间间隔记录经过该固定时间间隔的间隔内存变化量,则可以确定回溯时间点和迁移起始时间点之间的多个固定时间间隔,确定各固定时间间隔对应的间隔内存变化量,将该多个间隔内存变化量的累加和确定为当前内存变化量。
步骤a5,将历史内存变化量和当前内存变化量的最大值确定为额外内存量。
在本实施例中,确定历史内存变化量和当前内存变化量之后,将该两个变化量中的最大值确定为额外内存量。进一步提高了在虚拟机热迁移过程中,虚拟机空闲内存的充足性。
举例而言,若历史内存变化量为△MH,当前内存变化量为△ML,则额外内存量△M=Max(△MH,△ML)。
步骤203,将虚拟机的内存总量中除使用内存量和额外内存量之外的其他内存量确定为待回收内存量。
在本实施例中,使用内存量可以表征虚拟机在进行热迁移之前已经使用的内存大小,额外内存量可以为根据历史数据预测的虚拟机在热迁移过程中额外使用的内存大小,因而在热迁移过程中,使用内存量对应的内存以及额外内存量对应的内存需要保留,以支持虚拟机的正常运行。具体地,虚拟机热迁移装置可以确定使用内存量和额外内存量的内存量和,将虚拟机的内存总量与该内存量和的差确定为待回收内存量。
上述方案中,不仅为虚拟机保留了使用内存量对应的内存,而且为虚拟机保留了额外内存量对应的内存,以使虚拟机在热迁移的过程中可以正常运行业务进程,从而对外提供服务。
在一些实施例,虚拟机热迁移装置能够定时采集虚拟机、源服务器、目标服务器的数据,为计算额外内存量提供数据支持。具体的,该虚拟机热迁移方法还包括:按照预设时间间隔收集虚拟机的虚拟机信息;其中,虚拟机信息包括:虚拟机的内存总量、虚拟机在预设时间间隔的内存增量、源服务器的带宽、目标服务器的带宽中的至少一个。
其中,预设时间间隔可以表征相邻两次收集虚拟机信息所间隔的时间长度,该预设时间间隔可以根据用户需求等进行设置,本实施例不做限制,例如,该预设时间间隔可以为1分钟。虚拟机的内存总量可以为当前配置给虚拟机的内存量。虚拟机在预设时间间隔的内存增量可以为经过预设时间间隔后虚拟机使用的内存量与预设时间间隔前虚拟机使用的内存量的差值,例如,若经过预设时间间隔后虚拟机使用的内存量为N1,预设时间间隔前虚拟机使用的内存量为N2,则该内存增量可以为N1-N2。源服务器的带宽可以为对源服务器进行带宽测试的测试结果。目标服务器的带宽可以为对目标服务器进行带宽测试的结果。
在本实施例中,用户可以预先在虚拟机热迁移装置内设置时间间隔,虚拟机热迁移装置根据该时间间隔采集虚拟机信息,并且可以为每个虚拟机信息标记相应的时间戳,该时间戳用于表征采集该虚拟机信息的时间点。
举例而言,可以以1分钟为时间间隔收集虚拟机信息,该虚拟机信息中包括8字节的内存总量、8字节的预设时间间隔的内存增量、8字节的源服务器的带宽、8字节的目标服务器的带宽,并且以4字节的时间戳对该虚拟机信息进行标记。每1分钟新增一条虚拟机信息,并保留最近5天内的虚拟机信息,超过最近5天的信息将被新产生的虚拟机信息所覆盖,由于每条虚拟机信息以及该虚拟机信息的时间戳占用38字节,5天的虚拟机信息占用的存储空间约为267千字节(Kilobyte,KB)。
图3为本公开实施例提供的一种虚拟机热迁移架构示意图,如图3所示,该虚拟机热迁移方法可以基于伸缩控制单元、计算分析单元、收集记录单元实现。
图3中的收集记录单元能够随虚拟机的运行而运行,按照预设时间间隔收集虚拟机信息,具体地,可以收集8字节的虚拟机的内存总量,8字节的时间间隔的内存增量,8字节的源服务器的带宽,8字节的目标服务器的带宽,并通过时间戳为各虚拟机信息进行标记,该时间戳的大小可以为4字节。一种可选的实施方式中,可以将预设时间间隔设置为1分钟,每分钟收集一条虚拟机信息,并保存最近5天的虚拟机信息,超过5天的虚拟机信息将被最新的虚拟机信息覆盖。
图3中的计算分析单元能够计算待回收内存量,使基于该待回收内存量能够支持虚拟机高效的完成热迁移。若待回收内存量过小,会导致虚拟机在热迁移过程中迁移的未使用内存量过大,降低虚拟机热迁移的效率。若待回收内存量过大,在虚拟机热迁移的过程中,出现内存不足的概率较大,若虚拟机内存不足,则需要通过balloon机制归还内存至虚拟机,影响虚拟机热迁移。
通过计算分析单元能够确定合适的待回收内存量,从而提高内存迁移的效率,计算待回收内存量所需要的数据由收集记录单元提供,具体计算步骤如下:
步骤b1,计算目标带宽Ba。目标带宽Ba=k×min(a,b)。其中a为源服务器的带宽,b为目标服务器的带宽,k为预设系数,该预设系数可以理解为带宽的可用系数,该预设系数的取值范围为(0,1],通过预设系数能够避免迁移内存占用过高的网络带宽,避免虚拟机上的业务进程无法分配到足够的带宽。
步骤b2,计算迁移时长To。迁移时长To=R÷Ba。其中,R为虚拟机的内存总量,Ba为目标带宽。根据迁移起始时间点和迁移时长,确定迁移结束时间点,并将迁移起始时间点和迁移结束时间点确定为迁移时间范围。
步骤b3,确定历史内存变化量△MH。历史内存变化量△MH=k1×△M1+k2×△M2+k3×△M3+k4×△M4+k5×△M5,并且k1+k2+k3+k4+k5=1。其中,△M1表示进行虚拟机前一天迁移时间范围内虚拟机的内存增量,△M2表示进行虚拟机前两天迁移时间范围内虚拟机的内存增量,△M3、△M4、△M5的含义以此类推。
步骤b4,确定当前内存变化量△ML。若迁移时长为To,迁移开始时间点为Tc,则迁移时间范围之前的目标时间范围为(Tc-To,Tc],则当前内存变化量△ML可以为目标时间范围内多个时间间隔的内存增量的累加和。
步骤b5,确定额外内存量△M,并确定待回收内存量Y。额外内存量△M=Max(△MH,△ML),其中,△MH为历史内存变化量,△ML为当前内存变化量。待回收内存Y=Z–(X+△M),其中,Z为虚拟机的内存总量,X为使用内存量,△M为额外内存量。
图3中的伸缩控制单元的功能可以通过虚拟机中的balloon机制实现,通过封装QMP协议对应的接口,将待回收内存量设置在内存回收指令中,内存回收指令为:{"execute":"balloon","arguments":{"value":待回收内存量}}。设置完成后,持续监控虚拟机的内存总量,监控到虚拟机的内存总量逐步减少,直到减少的内存量为待回收内存量,则进行虚拟机热迁移。
在虚拟机热迁移的过程中,虚拟机内部运行的进程可能需要申请大量内存,可以通过虚拟机的balloon机制启用autodeflate功能,实现在内存不足的情况下,通过balloon机制自动归还内存至虚拟机。当通过balloon机制归还内存后,虚拟机的内存增大,正在执行的虚拟机热迁移,无法对归还的内存进行迁移。为了避免归还的内存无法迁移至目标服务器,可以通过balloon机制中的change功能对内存归还事件进行监听,如果监听到发生内存归还事件,则重新进行虚拟机热迁移。首先通过QMP协议对应的接口执行{"execute":"migrate-pause"}和{"execute":"migrate","arguments":{"blk":false}}指令,暂停虚拟机热迁移,并重新计算待回收内存量,基于重新计算的待回收内存量进行虚拟机热迁移。
如图3所示,虚拟机的内核态中存在balloon驱动,虚拟机进程中存在balloon虚拟设备,该balloon驱动和balloon虚拟设备相对应,收集记录单元可以通过预设协议和/或预设协议从虚拟机进程中收集虚拟机信息,其中,该预设协议可以为QMP协议,该预设进程可以为QGA(Qemu Guest Agent)。收集记录单元将收集到的虚拟机信息传输至计算分析单元,计算分析单元计算确定待回收内存量,计算分析单元将待回收内存量传输至伸缩控制单元,伸缩控制单元通过预设协议和/或预设进程回收虚拟机中的待回收内存量对应的内存。
接下来通过一个具体的示例对本公开实施例中的虚拟机热迁移方法,进行进一步说明。图4为本公开实施例提供的另一种虚拟机热迁移方法的流程示意图,如图4所示,该虚拟机热迁移方法包括:
步骤401,启动虚拟机。
步骤402,判断虚拟机是否具备virtio驱动。若是,执行步骤403;否则,执行步骤404。
步骤403,判断虚拟机是否具备balloon机制。若是,执行步骤405;否则,执行步骤404。
其中,virtio驱动以及virtio驱动中的balloon机制是实现该虚拟机热迁移方法的基础,virtio驱动以及virtio驱动中的balloon机制是Linux虚拟机监视器Qemu中的功能,该功能需要在虚拟机启动时开启。
步骤404,响应于热迁移操作,进行虚拟机热迁移。当虚拟机中不具备virtio驱动和/或不具备balloon机制时,采用虚拟机自带的迁移流程直接进行虚拟机迁移。
步骤405,启动收集记录单元,以1分钟为预设时间间隔,收集虚拟机信息,并保存近5天的虚拟机信息。
步骤406,响应于热迁移操作,启动计算分析单元,得到待回收内存量。
步骤407,启动伸缩控制单元,将待回收内存量作为内存回收指令中内存参数的具体值,通过QMP协议对应的接口,基于balloon机制回收虚拟机的内存。
当虚拟机中具备virtio驱动和balloon机制时,通过计算分析单元和伸缩控制单元,调整虚拟机的内存大小,从而减少需要从源服务器迁移至目标服务器的内存数据量。
步骤408,进行虚拟机热迁移。
步骤409,判断热迁移过程中是否发生内存归还事件。若是,执行步骤410,否则,执行步骤411。具体地,在虚拟机热迁移过程中,监视虚拟机是否出现在内存不足的情况,若虚拟机内存不足,会通过内存归还事件将内存归还至虚拟机。并且,由于待回收内存量中包括了使用内存量以及额外内存量,在虚拟机热迁移过程中由于内存不足发生内存归还事件的概率较低。
步骤410,将待回收内存量对应的内存归还至虚拟机。若在热迁移的过程中发生内存归还事件,则需要将待回收内存量对应的内存归还至虚拟机,并重新进行内存迁移。
步骤411,热迁移结束。
上述方案中,在虚拟机的内存使用率较低的情况下,较大程度的提高了虚拟机热迁移的速率,降低了服务器的负载以及热迁移占用的带宽,降低了对业务负载的影响。并且实现了内存的动态伸缩,避免了迁移过程中周期性的申请内存而占用大量内存,提高了虚拟机中的业务进程申请内存的成功率,提高了业务进程能够正常运行的概率。同时在虚拟机热迁移的过程中,无需通过内存申请确定未使用的内存,避免了因为该内存申请造成的虚拟机内存占用过高、操作系统内存溢出,提高了虚拟机中的业务进程正常运行的概率。并且采用了虚拟机本身的热迁移方法进行热迁移,避免了需要跟随开源版本进行相应的热迁移软件开发,减少了软件的维护工作量。
图5本公开实施例提供的一种虚拟机热迁移装置的结构示意图,该装置可由软件和/或硬件实现,一般可集成在电子设备中。如图5所示,该装置,包括:
确定模块501,用于响应于热迁移操作,确定虚拟机中的待回收内存量;其中,所述待回收内存量小于所述虚拟机的空闲内存量;
回收模块502,用于将所述虚拟机中与所述待回收内存量对应的内存回收,并将内存回收之后的虚拟机从源服务器迁移至目标服务器。
可选的,所述确定模块501,包括:
第一确定子模块,用于确定所述虚拟机的使用内存量;其中,所述使用内存量表征所述虚拟机在热迁移之前使用的内存量;
第二确定子模块,用于确定所述虚拟机的额外内存量;其中,所述额外内存量表征所述虚拟机在热迁移过程中使用的内存量;
第三确定子模块,用于将所述虚拟机的内存总量中除所述使用内存量和所述额外内存量之外的其他内存量确定为待回收内存量。
可选地,所述第二确定子模块,包括:
第一确定单元,用于根据所述源服务器的带宽、所述目标服务器的带宽、所述虚拟机的内存总量、预设迁移起始时间点确定迁移时间范围;
获取单元,用于获取所述虚拟机在多个历史日期的所述迁移时间范围对应的内存变化量,其中,两个相邻的所述历史日期之间间隔预设天数;
第二确定单元,用于根据多个所述内存变化量确定历史内存变化量;
第三确定单元,用于确定当前日期的所述迁移时间范围之前的目标时间范围,获取所述虚拟机在所述目标时间范围内对应的当前内存变化量;其中,所述目标时间范围的时长和所述迁移时间范围的时长相同;
第四确定单元,用于将所述历史内存变化量和所述当前内存变化量的最大值确定为所述额外内存量。
可选地,所述第一确定单元,用于:
将所述源服务器的带宽和所述目标服务器的带宽的最小值确定为初始带宽;
将预设系数和所述初始带宽的乘积确定为目标带宽;其中,所述预设系数表征所述虚拟机迁移时所分配的带宽比例;
将所述内存总量和所述目标带宽的商确定为迁移时长;
将所述迁移起始时间点经过所述迁移时长的时间点确定为迁移结束时间点,并将所述迁移起始时间点和所述迁移结束时间点确定为所述迁移时间范围。
可选地,所述回收模块502,用于:
将所述待回收内存量作为内存回收指令中内存参数的具体值,执行所述内存回收指令,以将所述虚拟机中与所述待回收内存量对应的部分空闲内存回收。
可选地,所述装置还包括:
收集模块,用于按照预设时间间隔收集所述虚拟机的虚拟机信息;其中,所述虚拟机信息包括:所述虚拟机的内存总量、所述虚拟机在所述预设时间间隔的内存增量、所述源服务器的带宽、所述目标服务器的带宽中的至少一个。
可选地,所述装置还包括:
处理模块,用于若在所述虚拟机的迁移过程中,所述虚拟机的空闲内存量小于目标内存量,则停止所述虚拟机的迁移,并为所述虚拟机配置内存量为所述待回收内存量的空闲内存;其中,所述目标内存量为执行目标业务进程所需的内存量。
本公开实施例所提供的虚拟机热迁移装置可执行本公开任意实施例所提供的虚拟机热迁移方法,具备执行方法相应的功能模块和有益效果。
图6为本公开实施例提供的一种电子设备的结构示意图。如图6所示,电子设备600包括一个或多个处理器601和存储器602。
处理器601可以是中央处理单元(CPU)或者具有虚拟机热迁移能力和/或指令执行能力的其他形式的处理单元,并且可以控制电子设备600中的其他组件以执行期望的功能。
存储器602可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器601可以运行所述程序指令,以实现上文所述的本公开的实施例的虚拟机热迁移方法以及/或者其他期望的功能。在所述计算机可读存储介质中还可以存储诸如输入信号、信号分量、噪声分量等各种内容。
在一个示例中,电子设备600还可以包括:输入装置603和输出装置604,这些组件通过总线系统和/或其他形式的连接机构(未示出)互连。
此外,该输入装置603还可以包括例如键盘、鼠标等等。
该输出装置604可以向外部输出各种信息,包括确定出的距离信息、方向信息等。该输出装置604可以包括例如显示器、扬声器、打印机、以及通信网络及其所连接的远程输出设备等等。
当然,为了简化,图6中仅示出了该电子设备600中与本公开有关的组件中的一些,省略了诸如总线、输入/输出接口等等的组件。除此之外,根据具体应用情况,电子设备600还可以包括任何其他适当的组件。
除了上述方法和设备以外,本公开的实施例还可以是计算机程序产品,其包括计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本公开实施例所提供的虚拟机热迁移方法。
所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。
此外,本公开的实施例还可以是计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本公开实施例所提供的虚拟机热迁移方法。
所述计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本公开的具体实施方式,使本领域技术人员能够理解或实现本公开。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本公开的精神或范围的情况下,在其它实施例中实现。因此,本公开将不会被限制于本文所述的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种虚拟机热迁移方法,其特征在于,包括:
响应于热迁移操作,确定虚拟机中的待回收内存量;其中,所述待回收内存量小于所述虚拟机的空闲内存量;
将所述虚拟机中与所述待回收内存量对应的内存回收,并将内存回收之后的虚拟机从源服务器迁移至目标服务器。
2.根据权利要求1所述的方法,其特征在于,所述确定虚拟机中的待回收内存量,包括:
确定所述虚拟机的使用内存量;其中,所述使用内存量表征所述虚拟机在热迁移之前使用的内存量;
确定所述虚拟机的额外内存量;其中,所述额外内存量表征所述虚拟机在热迁移过程中使用的内存量;
将所述虚拟机的内存总量中除所述使用内存量和所述额外内存量之外的其他内存量确定为待回收内存量。
3.根据权利要求2所述的方法,其特征在于,所述确定所述虚拟机的额外内存量,包括:
根据所述源服务器的带宽、所述目标服务器的带宽、所述虚拟机的内存总量、预设迁移起始时间点确定迁移时间范围;
获取所述虚拟机在多个历史日期的所述迁移时间范围对应的内存变化量,其中,两个相邻的所述历史日期之间间隔预设天数;
根据多个所述内存变化量确定历史内存变化量;
确定当前日期的所述迁移时间范围之前的目标时间范围,获取所述虚拟机在所述目标时间范围内对应的当前内存变化量;其中,所述目标时间范围的时长和所述迁移时间范围的时长相同;
将所述历史内存变化量和所述当前内存变化量的最大值确定为所述额外内存量。
4.根据权利要求3所述的方法,其特征在于,所述根据所述源服务器的带宽、所述目标服务器的带宽、所述虚拟机的内存总量、预设迁移起始时间点确定迁移时间范围,包括:
将所述源服务器的带宽和所述目标服务器的带宽的最小值确定为初始带宽;
将预设系数和所述初始带宽的乘积确定为目标带宽;其中,所述预设系数表征所述虚拟机迁移时所分配的带宽比例;
将所述内存总量和所述目标带宽的商确定为迁移时长;
将所述迁移起始时间点经过所述迁移时长的时间点确定为迁移结束时间点,并将所述迁移起始时间点和所述迁移结束时间点确定为所述迁移时间范围。
5.根据权利要求1所述的方法,其特征在于,所述将所述虚拟机中与所述待回收内存量对应的内存回收,包括:
将所述待回收内存量作为内存回收指令中内存参数的具体值,执行所述内存回收指令,以将所述虚拟机中与所述待回收内存量对应的部分空闲内存回收。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
按照预设时间间隔收集所述虚拟机的虚拟机信息;
其中,所述虚拟机信息包括:所述虚拟机的内存总量、所述虚拟机在所述预设时间间隔的内存增量、所述源服务器的带宽、所述目标服务器的带宽中的至少一个。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
若在所述虚拟机的迁移过程中,所述虚拟机的空闲内存量小于目标内存量,则停止所述虚拟机的迁移,并为所述虚拟机配置内存量为所述待回收内存量的空闲内存;其中,所述目标内存量为执行目标业务进程所需的内存量。
8.一种虚拟机热迁移装置,其特征在于,包括:
确定模块,用于响应于热迁移操作,确定虚拟机中的待回收内存量;其中,所述待回收内存量小于所述虚拟机的空闲内存量;
回收模块,用于将所述虚拟机中与所述待回收内存量对应的内存回收,并将内存回收之后的虚拟机从源服务器迁移至目标服务器。
9.一种电子设备,其特征在于,所述电子设备包括:
处理器;
用于存储所述处理器可执行指令的存储器;
所述处理器,用于从所述存储器中读取所述可执行指令,并执行所述指令以实现上述权利要求1-7中任一所述的虚拟机热迁移方法。
10.一种计算机可读存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序用于执行上述权利要求1-7中任一所述的虚拟机热迁移方法。
CN202211375531.XA 2022-11-04 2022-11-04 虚拟机热迁移方法、装置、设备及介质 Active CN115904616B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211375531.XA CN115904616B (zh) 2022-11-04 2022-11-04 虚拟机热迁移方法、装置、设备及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211375531.XA CN115904616B (zh) 2022-11-04 2022-11-04 虚拟机热迁移方法、装置、设备及介质

Publications (2)

Publication Number Publication Date
CN115904616A true CN115904616A (zh) 2023-04-04
CN115904616B CN115904616B (zh) 2023-11-10

Family

ID=86481611

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211375531.XA Active CN115904616B (zh) 2022-11-04 2022-11-04 虚拟机热迁移方法、装置、设备及介质

Country Status (1)

Country Link
CN (1) CN115904616B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116775506A (zh) * 2023-08-22 2023-09-19 腾讯科技(深圳)有限公司 内存回收方法、装置、设备和介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104516767A (zh) * 2013-09-27 2015-04-15 国际商业机器公司 设置虚拟机迁移过程中应用客户端的重传时间的方法和系统
CN105740041A (zh) * 2016-01-04 2016-07-06 杭州华三通信技术有限公司 一种虚拟机在线迁移方法和装置
US20170139732A1 (en) * 2015-11-12 2017-05-18 International Business Machines Corporation Virtual machine migration management
CN107562512A (zh) * 2016-07-01 2018-01-09 华为技术有限公司 一种迁移虚拟机的方法、装置及系统
CN113687873A (zh) * 2021-07-30 2021-11-23 济南浪潮数据技术有限公司 一种云服务页表中的大页内存配置方法、系统及相关装置
CN113742187A (zh) * 2021-08-05 2021-12-03 中移(杭州)信息技术有限公司 应用系统的容量预测方法、装置、设备及存储介质
CN114490432A (zh) * 2022-01-13 2022-05-13 深圳Tcl新技术有限公司 内存处理方法、装置、电子设备和计算机可读存储介质
CN114691300A (zh) * 2022-03-25 2022-07-01 阿里巴巴(中国)有限公司 一种虚拟机实例的热迁移方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104516767A (zh) * 2013-09-27 2015-04-15 国际商业机器公司 设置虚拟机迁移过程中应用客户端的重传时间的方法和系统
US20170139732A1 (en) * 2015-11-12 2017-05-18 International Business Machines Corporation Virtual machine migration management
CN105740041A (zh) * 2016-01-04 2016-07-06 杭州华三通信技术有限公司 一种虚拟机在线迁移方法和装置
CN107562512A (zh) * 2016-07-01 2018-01-09 华为技术有限公司 一种迁移虚拟机的方法、装置及系统
CN113687873A (zh) * 2021-07-30 2021-11-23 济南浪潮数据技术有限公司 一种云服务页表中的大页内存配置方法、系统及相关装置
CN113742187A (zh) * 2021-08-05 2021-12-03 中移(杭州)信息技术有限公司 应用系统的容量预测方法、装置、设备及存储介质
CN114490432A (zh) * 2022-01-13 2022-05-13 深圳Tcl新技术有限公司 内存处理方法、装置、电子设备和计算机可读存储介质
CN114691300A (zh) * 2022-03-25 2022-07-01 阿里巴巴(中国)有限公司 一种虚拟机实例的热迁移方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
MICHAEL R. HINES: "Post-copy live migration of virtual machines", 《ACM SIGOPS OPERATING SYSTEMS REVIEW》, pages 14 - 26 *
常德成;徐高潮;: "虚拟机动态迁移方法", 计算机应用研究, no. 04 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116775506A (zh) * 2023-08-22 2023-09-19 腾讯科技(深圳)有限公司 内存回收方法、装置、设备和介质
CN116775506B (zh) * 2023-08-22 2023-12-05 腾讯科技(深圳)有限公司 内存回收方法、装置、设备和介质

Also Published As

Publication number Publication date
CN115904616B (zh) 2023-11-10

Similar Documents

Publication Publication Date Title
US11106579B2 (en) System and method to manage and share managed runtime memory for java virtual machine
CN111625201B (zh) 用于存储客户端文件系统的存储卷的动态缩放
US10198351B2 (en) Optimizing memory usage across multiple applications based on garbage collection activity
JP4841632B2 (ja) ロジカル・パーティションにプロセッサを割り当てるための方法、装置、およびプログラム
US9547520B1 (en) Virtual machine load balancing
CN109669877B (zh) 内存管理方法、装置、终端及存储介质
US10817380B2 (en) Implementing affinity and anti-affinity constraints in a bundled application
US10049034B2 (en) Information processing apparatus
EP3304294A1 (en) Method and system for allocating resources for virtual hosts
US11960941B2 (en) Managing virtual machine memory balloon using time series predictive data
CN112667405B (zh) 信息处理方法、装置、设备及存储介质
CN115904616B (zh) 虚拟机热迁移方法、装置、设备及介质
CN111414138A (zh) 一种固态硬盘磨损均衡方法和装置
US9747028B1 (en) Artificial memory pressure for low memory machine
EP4258096A1 (en) Predictive block storage size provisioning for cloud storage volumes
JP7104327B2 (ja) 情報処理装置、仮想マシン管理プログラムおよび仮想マシン管理方法
CN115840635A (zh) 计算资源管理方法、电子设备和程序产品
CN107515727B (zh) 用于在存储系统中管理存储器的方法和系统
US20230418643A1 (en) Improved memory management for busy virtual machine guests
JP5996094B2 (ja) 仮想マシンイメージ管理サーバ、及び仮想マシンイメージ管理方法
JP7331581B2 (ja) 監視装置、監視方法、およびプログラム
EP4261682A1 (en) Just-in-time packager build system
CN114450670A (zh) 用于并发执行数据库操作的方法
CN116382887A (zh) 用于管理存储器泄漏的方法和系统
JP2020154982A (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