CN115454576B - 一种虚拟机进程管理方法、系统及电子设备 - Google Patents
一种虚拟机进程管理方法、系统及电子设备 Download PDFInfo
- Publication number
- CN115454576B CN115454576B CN202211201284.1A CN202211201284A CN115454576B CN 115454576 B CN115454576 B CN 115454576B CN 202211201284 A CN202211201284 A CN 202211201284A CN 115454576 B CN115454576 B CN 115454576B
- Authority
- CN
- China
- Prior art keywords
- target
- virtual machine
- protection command
- level
- score
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 536
- 230000008569 process Effects 0.000 title claims abstract description 495
- 238000007726 management method Methods 0.000 title claims abstract description 47
- 238000012163 sequencing technique Methods 0.000 claims abstract description 23
- 238000004364 calculation method Methods 0.000 claims abstract description 15
- 230000004044 response Effects 0.000 claims description 22
- 238000012795 verification Methods 0.000 claims description 10
- 238000012544 monitoring process Methods 0.000 claims description 5
- 238000004590 computer program Methods 0.000 claims description 3
- 238000004891 communication Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 9
- 230000004083 survival effect Effects 0.000 description 8
- 230000009286 beneficial effect Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45554—Instruction set architectures of guest OS and hypervisor or native processor differ, e.g. Bochs or VirtualPC on PowerPC MacOS
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation 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/5016—Allocation 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/546—Message passing systems or structures, e.g. queues
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45583—Memory management, e.g. access or allocation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45591—Monitoring or debugging support
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/54—Indexing scheme relating to G06F9/54
- G06F2209/548—Queue
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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)
Abstract
本说明书实施例公开了一种虚拟机进程管理方法、系统及电子设备,能够方便快捷地对虚拟机中的进程进行保护设置。所述方法包括:所述虚拟化管理平台接收进程保护命令,基于所述进程保护命令中的规则信息将所述进程保护命令转发至目标虚拟机;基于预设的评分计算规则,计算所述目标虚拟机中与所述进程保护命令相对应的目标进程的进程评分;根据所述进程评分对所述目标虚拟机中的多个进程进行排序,在需要终止进程以释放内存资源时,优先终止排序靠前的所述进程。所述系统包括进程保护命令接收模块、目标进程评分模块与进程保护模块。所述电子设备中的处理器在执行程序时实现所述虚拟机进程管理方法。
Description
技术领域
本发明涉及虚拟机技术领域,具体涉及一种虚拟机进程管理方法、系统及电子设备。
背景技术
在云计算方案中对物理机上的运行的进程进行保护设置,保证在资源不足的情况下重要服务进程仍能继续存活。而在云计算方案涉及到虚拟机时,由于权限问题云计算无法针对虚拟机中的进程进行保护设置,在虚拟机内存资源紧张时可能出现重要进程被终止的情况。
一些相关技术中需要登录到虚拟机中进行设置,这对操作人员在技术专业性层面提出很高要求。并且,虚拟机相对物理机而言是动态的,其开通、销毁较为频繁,这样导致了需要频繁登录虚拟机并针对虚拟机中的多个进程逐个操作,操作方法复杂繁琐,工作量大,执行效率低,极大地影响了用户体验。
发明内容
有鉴于此,本说明书实施例提供了一种虚拟机进程管理方法、系统及电子设备,能够方便快捷地对虚拟机中的进程进行保护设置。
在第一方面,本说明书实施例提供了一种虚拟机进程管理方法。所述方法应用于虚拟化管理平台,所述方法包括:
所述虚拟化管理平台接收进程保护命令,基于所述进程保护命令中的规则信息将所述进程保护命令转发至目标虚拟机;
基于预设的评分计算规则,计算所述目标虚拟机中与所述进程保护命令相对应的目标进程的进程评分;
根据所述进程评分对所述目标虚拟机中的多个进程进行排序,在需要终止进程以释放内存资源时,优先终止排序靠前的所述进程。
可选的,基于所述进程保护命令中的规则信息将所述进程保护命令转发至目标虚拟机,包括:
将所述进程保护命令发送至消息队列服务;
由所述目标虚拟机对应的目标宿主机针对所述消息队列服务进行监听,从所述消息队列服务中获取所述进程保护命令;
所述目标宿主机根据所述规则信息针对所述进程保护命令进行归属校验,校验通过后将所述进程保护命令发送至所述目标虚拟机。
可选的,所述消息队列服务维护多个消息队列,多个所述消息队列与所述虚拟化管理平台中的多个所述宿主机对应;
所述方法在所述功能接口将所述进程保护命令发送至消息队列服务后,还包括:
所述消息队列服务通过对所述规则信息进行解析,确定与所述规则信息中的虚拟机信息相对应的所述目标宿主机;
将所述进程保护命令发送到所述目标宿主机相应的所述消息队列中;
所述由所述目标虚拟机对应的目标宿主机针对所述消息队列服务进行监听,包括:
所述目标宿主机对相应的所述消息队列进行监听。
可选的,所述目标宿主机根据所述规则信息针对所述进程保护命令进行归属校验,包括:
所述目标宿主机将所述虚拟机信息与本地虚拟机列表进行对比,以确定所述虚拟机信息对应的所述目标虚拟机是否为本地虚拟机;
若所述目标虚拟机是本地虚拟机,则校验通过。
可选的,所述进程保护命令包括所述目标进程的进程等级;
基于预设的评分计算规则,计算所述目标虚拟机中与所述进程保护命令相对应的目标进程的进程评分,包括:
响应于所述进程等级为高级,确定所述目标进程的所述进程评分取最小值Smin;
响应于所述进程等级为低级,确定所述目标进程的所述进程评分取最大值Smax;
响应于所述进程等级为中级,根据所述目标进程的运行内存与所述目标虚拟机的总内存计算确定所述进程评分。
可选的,根据所述目标进程的运行内存与所述目标虚拟机的总内存计算确定所述进程评分,包括:
所述进程评分为:
Score=Smin+min(max(β,Smax-(Smax*Mem)/Mec),Smax-1)
其中,Score表示所述进程评分,Smmin,Smax分别表示所述进程评分的最小值与最大值,β(Smin<β<Smax)为中间参数,Mem表示所述目标进程的运行内存,Mec表示所述目标虚拟机的总内存。
可选的,所述进程等级的确定方法包括:根据所述目标进程的动态优先级设定所述进程等级;
所述根据所述目标进程的动态优先级设定所述进程等级,包括:
响应于所述动态优先级最高,将所述进程等级设定为高级或中级;
响应于所述动态优先级最低,将所述进程等级设定为中级或低级;
响应于所述动态优先级处于最高与最低之间,根据所述目标进程的重要性设定进程等级。
可选的,根据所述进程评分对所述目标虚拟机中的多个进程进行排序,在需要终止进程以释放内存资源时,优先终止排序靠前的所述进程,包括:
将多个所述进程按所述进程评分从大到小进行排序;
在需要终止进程时,从所述排序结果的第一个所述进程开始执行终止操作,直止所述目标虚拟机的内存资源满足运行需求。
在第二方面,本说明书实施例还提供了一种虚拟机进程管理系统,所述系统应用于虚拟化管理平台,包括:
进程保护命令接收模块,用于接收进程保护命令,基于所述进程保护命令中的规则信息将所述进程保护命令转发至目标虚拟机;
目标进程评分模块,用于基于预设的评分计算规则,计算所述目标虚拟机中与所述进程保护命令相对应的目标进程的进程评分;以及
进程保护模块,用于根据所述进程评分对所述目标虚拟机中的多个进程进行排序,在需要终止进程以释放内存资源时,优先终止排序靠前的所述进程。
在第三方面,本说明书实施例还提供了一种虚拟机进程管理电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如第一方面所述的虚拟机进程关系方法。
从上面可以看出,本说明书实施例所提供的一种虚拟机进程管理方法、系统及电子设备,具有如下有益技术效果:
由虚拟机管理平台接收进程保护命令,无须登录虚拟机进行操作,可以大大降低用户进程保护设置的操作难度。在接收到所述进程保护命令后将其转发至目标虚拟机,并根据所述进程保护命令计算确定目标进程的进程评分,进一步的,根据进程评分进行排序,在资源紧张需要终止进程以释放内存资源时根据排序结果终止进程,优先终止排序靠前的所述进程。通过对所述进程保护命令进行设定,可以影响到最后目标进程在进程序列中的先后顺序,从而影响到目标进程终止的先后顺序。这样的方式,通过设定进程保护命令即可以保证重要性高或满足用户特定需求的所述目标进程的终止顺序靠后,从而提高所述目标进程的存活率,实现针对所述目标进程的保护设置。
附图说明
通过参考附图会更加清楚的理解本发明的特征和优点,附图是示意性的而不应理解为对本发明进行任何限制,在附图中:
图1示出了本说明书一个或多个可选实施例所提供的一种虚拟机进程管理方法示意图;
图2示出了本说明书一个或多个可选实施例所提供的一种虚拟机进程管理方法中将所述进程保护命令转发至目标虚拟机的方法示意图;
图3示出了本说明书一个或多个可选实施例所提供的一种虚拟机进程管理方法中所述虚拟化平台的通信架构示意图;
图4示出了本说明书一个或多个可选实施例所提供的一种虚拟机进程管理方法中进程评分的计算方法示意图;
图5示出了本说明书一个或多个可选实施例所提供的一种虚拟机进程管理系统结构示意图;
图6示出了本说明书一个或多个可选实施例所提供的一种虚拟机进程管理电子设备结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在云计算方案中对物理机上的运行的进程进行保护设置,保证在资源不足的情况下重要服务进程仍能继续存活。而在云计算方案涉及到虚拟机时,由于权限问题云计算无法针对虚拟机中的进程进行保护设置,在虚拟机内存资源紧张时可能出现重要进程被终止的情况。
为了对虚拟机中的进程进行保护设置,一些相关技术中需要登录到虚拟机中进行设置,这对操作人员在技术专业性层面提出很高要求。并且,虚拟机相对物理机而言是动态的,其开通、销毁较为频繁,虚拟机每次开通之后可能都需要对其中的进程进行保护设置。这样的方式需要频繁登录虚拟机并针对虚拟机中的多个进程逐个操作,操作方法复杂繁琐,工作量大,执行效率低,极大地影响了用户体验。
针对上述问题,本说明书实施例目的在于提出一种对虚拟机进程管理方法,提供专用的功能接口接收进程保护命令,无须用户登录虚拟机进行操作,降低用户操作复杂度;根据进程保护命令为虚拟机中的进程进行评分,并以评分为依据确定资源紧张时进程终止的先后顺序,使重要进程得到保护。
基于上述目的,在一方面,本说明书实施例提供了一种虚拟机进程管理方法。
如图1所示,本说明书一个或多个可选实施例提供了一种虚拟机进程管理方法。所述方法应用于虚拟化管理平台,所述方法包括:
S1:所述虚拟化管理平台接收进程保护命令,基于所述进程保护命令中的规则信息将所述进程保护命令转发至目标虚拟机。
在所述虚拟化平台中,可以设置专门的功能接口API来接收进程保护命令。所述进程保护命令可以包括规则信息以及所述进程等级。其中,所述规则信息中的虚拟机信息用于指定目标虚拟机,所述规则信息中的进程信息用于指定所述目标虚拟机中的目标进程。所述进程等级可以根据目标进程的重要程度以及用户实际需求进行灵活设定。
所述虚拟机信息可以为目标虚拟机的身份信息,相应的所述进程信息可以为目标进程的身份信息。
通过解析所述进程保护命令中的所述规则信息,可以将所述进程保护命令转发到所述目标虚拟机对应的宿主机HOST中,再由所述宿主机HOST将所述进程保护命令转发至所述目标虚拟机。
S2:基于预设的评分计算规则,计算所述目标虚拟机中与所述进程保护命令相对应的目标进程的进程评分。
可以在所述目标虚拟机中,按照预设的所述评分计算规则,根据所述进程保护命令中的所述进程等级计算确定所述目标进程相应的所述进程评分。所述进程等级根据目标进程的重要程度以及用户实际需求设定,不同进程的重要程度以及相应的用户实际需求不同,根据所述评分计算规则所确定的相应的所述进程评分也存在差异。因此,不同进程评分可以反映出不同进程在重要程度以及用户实际需求方面的差异。
在所述进程保护命令中为目标进程设定了相应的进程等级,对于虚拟化平台中的多个虚拟机,每个虚拟机中的多个进程都具有相应的进程等级,相应的可以计算确定出每个所述进程对应的所述进程评分。在一些可选实施例中,对于未接收到相应进程保护命令的进程,其进程等级可以选用默认值。
S3:根据所述进程评分对所述目标虚拟机中的多个进程进行排序,在需要终止进程以释放内存资源时,优先终止排序靠前的所述进程。
在确定多个所述集成的所述进程评分后,可以根据所述进程评分为所述目标虚拟机中的多个所述进程进行排序生成进程序列,这样多个所述进程在进程序列中的先后顺序存在差异。
当所述目标虚拟机的内存资源无法满足多个进程同时运行时,需要终止部分进程以释放内存资源,这种情况终止进程的顺序根据多个进程的排序结果来确定。可以优先终止排序靠前的进程,而排序靠后的进程得以保留持续运行,这样的方式可以对排序靠后的进程进行保护。
在一些可选实施例中,在根据所述进程评分对所述目标虚拟机中的多个进程进行排序时,可以将所述目标虚拟机中的多个所述进程按所述进程评分从大到小进行排序。在需要终止进程,从所述排序结果的第一个所述进程开始执行终止操作,直止所述目标虚拟机的内存资源满足运行需求。
作为排序依据的所述进程评分,是根据所述进程保护命令中的所述进程等级计算生成。因此通过调整所述目标进程的所述进程等级,可以改变目标进程在进程序列中的先后顺序,从而影响到目标进程终止的先后顺序。进而在所述进程保护命令中,为所述目标进程设定好对应的所述进程等级就可以对最后目标进程的终止顺序造成影响。这样的方式可以保证重要性高或满足用户特定需求的所述目标进程的终止顺序靠后,从而提高所述目标进程的存活率,实现针对所述目标进程的保护设置。
如图2所示,在本申请一个或多个可选实施例所提供的一种虚拟机监进程管理方法中,基于所述进程保护命令中的规则信息将所述进程保护命令转发至目标虚拟机,包括:
S201:将所述进程保护命令发送至消息队列服务。
可以通过远程调用协议将所述进程保护命令发送到所述消息队列服务。
在一些可选实施例中,所述消息队列服务会根据注册的宿主机建立以宿主机名字命名的多个消息队列,多个所述消息队列分别与多个所述宿主机相对应。
所述消息队列服务在接收到所述进程保护命令后,通过解析所述进程保护命令中的所述规则信息,确定出与所述进程保护命令中所述虚拟机消息相对应的目标宿主机。进一步的,所述消息队列服务将所述进程保护命令发送到所述目标宿主机对应的所述消息队列中进行保存。
S202:由所述目标虚拟机对应的目标宿主机针对所述消息队列服务进行监听,从所述消息队列服务中获取所述进程保护命令。
所述目标宿主机可以通过监听从所述消息队列服务中获取到所述进程保护命令。
在一些可选实施例中,可以由所述目标宿主机中的compute-service服务监听所述消息队列服务中与所述目标宿主机相对应的所述消息队列,从中获取所述进程保护命令。
S203:所述目标宿主机根据所述规则信息针对所述进程保护命令进行归属校验,校验通过后将所述进程保护命令发送至所述目标虚拟机。
所述目标宿主机可以根据所述进程保护命令中的所述虚拟机信息进行归属校验,以确定所述宿主机中是否包含所述虚拟机信息指定的所述目标虚拟机。确定所述目标虚拟机属于所述目标宿主机后,所述目标宿主机可以进一步的将所述进程保护命令发送到所述目标虚拟机中。
参考图3所示,为本说明书实施例中所述虚拟化平台的通信架构示意图。在一些可选实施例中,所述目标宿主机中的所述compute-service服务从所述消息队列服务中监听到所述进程保护命令后,可以针对所述进程保护命令进行归属校验。所述compute-service服务在确定所述目标虚拟机归属于所述目标宿主机后,还可以进一步的验证所述目标虚拟机的操作系统是否属于支持的操作系统类型,在操作系统类型也验证符合条件后,所述compute-service服务将所述进程保护命令转发到所述目标虚拟机中。
其中,所述compute-service服务在转发所述进程保护命令时,可以先将所述进程保护命令发送到agent-service服务。由所述agent-service服务与所述目标虚拟机中的agent服务建立连接,然后将所述进程保护命令发送值所述agent服务。在所述目标虚拟机中,所述agent服务还可以进一步地验证所述进程保护命令中的所述进程信息对应的所述目标进程是否归属于所述目标虚拟机。
如图4所示,在本说明书一个或多个可选实施例所提供的一种虚拟机进程管理方法中,所述进程保护命令包括所述目标进程的进程等级,
基于预设的评分计算规则,计算所述目标虚拟机中与所述进程保护命令相对应的目标进程的进程评分,包括:
S401:响应于所述进程等级为高级,确定所述目标进程的所述进程评分取最小值Smin。
S402:响应于所述进程等级为低级,确定所述目标进程的所述进程评分取最大值Smax。
S403:响应于所述进程等级为中级,根据所述目标进程的运行内存与所述目标虚拟机的总内存计算确定所述进程评分。
可以根据所述进程在在所述目标虚拟机中的运行内存占比为所述目标进程进行评分。所述运行内存占比可以根据所述目标进程的运行内存与所述目标虚拟机的总内存计算确定。
在一些可选实施例中,根据所述目标进程的运行内存与所述目标虚拟机的总内存计算确定所述进程评分时,所述进程评分为:
Score=Smin+min(max(β,Smax-(Smax*Mem)/Mec),Smax-1)
其中,Score表示所述进程评分,Smin,Smax分别表示所述进程评分的最小值与最大值,β(Smin<β<Smax)为中间参数,Mem表示所述目标进程的运行内存,Mec表示所述目标虚拟机的总内存。
所述进程评分的最小值Smin与最大值Smax可以分别设置为-1000/1000,所述中间参数β可以设置为2。所述进程评分为:
Score=-1000+min(max(2,1000-(1000*Mem)/Mec),999)
以进程A的所述进程等级为中级,且所述目标虚拟机的总内存8G、进程A的运行内存3G为例,计算所述目标进程的进程评分为-375;进程B的所述进程等级为中级,且所述目标虚拟机的总内存8G、进程B的运行内存5G为例,对应的所述进程评分为-625。在根据所述进程评分从大到小进行排序时,进程评分为-375的进程A排序靠前,当所述目标虚拟机资源紧张时,需要终止虚拟机中的部分进程以缓解资源压力,排序靠前的进程A更容易被终止,相比进程A进程评分为-625的进程B排序靠后,进程B相比进程A有更高的存活率。这样的方式针对进程B实现进程保护。
在所述虚拟机进程管理方法中,进程等级为高级的目标进程其对应的进程评分设定为最小值,在目标虚拟机资源紧张时,目标进程位于进程序列最后,进程存活率最高;进程等级为低级的目标进程器对应的进程评分设定为最大值,在目标虚拟机资源紧张时,目标进程位于进程序列最前,最先被终止。而对于进程等级为中级的目标进程,其进程评分根据运行内存占比确定,运行内存占比越高,在资源紧张时受保护程度越高,在进程序列中位置越靠后,对应的进程存活率就越高。这样的方式相当于根据进程等级以及运行内存占比为目标虚拟机中的多个进程赋予不同的进程存活率,从而可以对所述目标虚拟机中的多个进程实现进程保护设置。
所述进程保护命令中的所述进程等级可以由用户直接设定,还可以根据对应的所述目标进程的动态优先级确定。
在本说明书一个或多个可选实施例所提供的一种虚拟机进程管理方法中,所述进程等级的确定方法包括:根据所述目标进程的动态优先级设定所述进程等级;
所述根据所述目标进程的动态优先级设定所述进程等级,包括:
响应于所述动态优先级最高,将所述进程等级设定为高级或中级;
响应于所述动态优先级最低,将所述进程等级设定为中级或低级;
响应于所述动态优先级处于最高与最低之间,根据所述目标进程的重要性设定进程等级。
在确定所述目标进程的进程等级时,需要参考所述目标进程的动态优先级。所述动态优先级可以用优先值表示:在所述动态优先级最高时,所述优先值取最大值,在所述动态优先级最低时,所述优先值取最小值。
对于动态优先级最高的情况,可以将对应所述目标进程的所述进程等级设置为高级或中级,但不会设置为低级。这样设置的目的在于避免动态优先级最高的所述目标进程因进程等级设置为低级而导致在内存资源紧张时优先被终止。相应的对于动态优先级最低的情况,可以将对应所述目标进程的所述进程等级设置为中级或低级,但不会设置为高级。这样设置的目的在于,避免动态优先级最低的所述目标进程因进程等级设置为高级而导致高存活率,导致对其他高优先级的进程存活率造成影响。
对于动态优先级处于最高和最低之间的目标进程,则根据所述目标进程的重要性进行设定,可以将对应的进程等级设定为高级、中级或低级。一般情况下,将动态优先级处于最高和最低之间的所述目标进程的进程等级设置为中级。
需要说明的是,本公开实施例的方法可以由单个设备执行,例如一台计算机或服务器等。本实施例的方法也可以应用于分布式场景下,由多台设备相互配合来完成。在这种分布式场景的情况下,这多台设备中的一台设备可以只执行本公开实施例的方法中的某一个或多个步骤,这多台设备相互之间会进行交互以完成所述的方法。
需要说明的是,上述对本公开的一些实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于上述实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
基于同一发明构思,与上述任意实施例方法相对应的,本公开还提供了一种虚拟机进程管理系统。
参考图5,所述虚拟机进程管理系统,应用于虚拟化管理平台,所述系统包括:
进程保护命令接收模块,用于接收进程保护命令,基于所述进程保护命令中的规则信息将所述进程保护命令转发至目标虚拟机;
目标进程评分模块,用于基于预设的评分计算规则,计算所述目标虚拟机中与所述进程保护命令相对应的目标进程的进程评分;以及
进程保护模块,用于根据所述进程评分对所述目标虚拟机中的多个进程进行排序,在需要终止进程以释放内存资源时,优先终止排序靠前的所述进程。
在本说明书一个或多个可选实施例所提供的一种虚拟机进程管理系统中,所述进程保护命令接收模块,还用于将所述进程保护命令发送至消息队列服务;由所述目标虚拟机对应的目标宿主机针对所述消息队列服务进行监听,从所述消息队列服务中获取所述进程保护命令;所述目标宿主机根据所述规则信息针对所述进程保护命令进行归属校验,校验通过后将所述进程保护命令发送至所述目标虚拟机。
在本说明书一个或多个可选实施例所提供的一种虚拟机进程管理系统中,所述消息队列服务维护多个消息队列,多个所述消息队列与所述虚拟化管理平台中的多个所述宿主机对应;所述消息队列服务,还用于通过对所述规则信息进行解析,确定与所述规则信息中的虚拟机信息相对应的所述目标宿主机;将所述进程保护命令发送到所述目标宿主机相应的所述消息队列中;所述目标宿主机,还用于对相应的所述消息队列进行监听。
在本说明书一个或多个可选实施例所提供的一种虚拟机进程管理系统中,所述目标宿主机,还用于将所述虚拟机信息与本地虚拟机列表进行对比,以确定所述虚拟机信息对应的所述目标虚拟机是否为本地虚拟机;若所述目标虚拟机是本地虚拟机,则校验通过。
在本说明书一个或多个可选实施例所提供的一种虚拟机进程管理系统中,所述进程保护命令包括所述目标进程的进程等级;所述目标进程评分模块,还用于在所述进程等级为高级时,确定所述目标进程的所述进程评分取最小值Smin;在所述进程等级为低级时,确定所述目标进程的所述进程评分取最大值Smax;在所述进程等级为中级时,根据所述目标进程的运行内存与所述目标虚拟机的总内存计算确定所述进程评分。
在本说明书一个或多个可选实施例所提供的一种虚拟机进程管理系统中,所述进程评分的计算方法为:
Score=Smin+min(max(β,Smax-(Smax*Mem)/Mec),Smax-1)
其中,Score表示所述进程评分,Smin,Smax分别表示所述进程评分的最小值与最大值,β(Smin<β<Smax)为中间参数,Mem表示所述目标进程的运行内存,Mec表示所述目标虚拟机的总内存。
在本说明书一个或多个可选实施例所提供的一种虚拟机进程管理系统中,所述进程等级的确定方法包括:根据所述目标进程的动态优先级设定所述进程等级;在所述动态优先级为最高时,将所述进程等级设定为高级或中级;在所述动态优先级为最低时,将所述进程等级设定为中级或低级;在所述动态优先级处于最高与最低之间时,根据所述目标进程的重要性设定进程等级。
在本说明书一个或多个可选实施例所提供的一种虚拟机进程管理系统中,所述进程保护模块,还用于将多个所述进程按所述进程评分从大到小进行排序;在需要终止进程时,从所述排序结果的第一个所述进程开始执行终止操作,直止所述目标虚拟机的内存资源满足运行需求。
为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本公开时可以把各模块的功能在同一个或多个软件和/或硬件中实现。
上述实施例的装置用于实现前述任一实施例中相应的虚拟机进程管理方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
基于同一发明构思,与上述任意实施例方法相对应的,本公开还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上任意一实施例所述的XX方法。
图6示出了本实施例所提供的一种更为具体的电子设备硬件结构示意图,该设备可以包括:处理器1010、存储器1020、输入/输出接口1030、通信接口1040和总线1050。其中处理器1010、存储器1020、输入/输出接口1030和通信接口1040通过总线1050实现彼此之间在设备内部的通信连接。
处理器1010可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方案。
存储器1020可以采用ROM(Read Only Memory,只读存储器)、RAM(Random AccessMemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器1020可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器1020中,并由处理器1010来调用执行。
输入/输出接口1030用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
通信接口1040用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。
总线1050包括一通路,在设备的各个组件(例如处理器1010、存储器1020、输入/输出接口1030和通信接口1040)之间传输信息。
需要说明的是,尽管上述设备仅示出了处理器1010、存储器1020、输入/输出接口1030、通信接口1040以及总线1050,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。
上述实施例的电子设备用于实现前述任一实施例中相应的虚拟机进程管理方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
基于同一发明构思,与上述任意实施例方法相对应的,本公开还提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行如上任一实施例所述的虚拟机进程管理方法。
本实施例的计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
上述实施例的存储介质存储的计算机指令用于使所述计算机执行如上任一实施例所述的虚拟机进程管理方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本公开的范围(包括权利要求)被限于这些例子;在本公开的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本公开实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。
另外,为简化说明和讨论,并且为了不会使本公开实施例难以理解,在所提供的附图中可以示出或可以不示出与集成电路(IC)芯片和其它部件的公知的电源/接地连接。此外,可以以框图的形式示出装置,以便避免使本公开实施例难以理解,并且这也考虑了以下事实,即关于这些框图装置的实施方式的细节是高度取决于将要实施本公开实施例的平台的(即,这些细节应当完全处于本领域技术人员的理解范围内)。在阐述了具体细节(例如,电路)以描述本公开的示例性实施例的情况下,对本领域技术人员来说显而易见的是,可以在没有这些具体细节的情况下或者这些具体细节有变化的情况下实施本公开实施例。因此,这些描述应被认为是说明性的而不是限制性的。
尽管已经结合了本公开的具体实施例对本公开进行了描述,但是根据前面的描述,这些实施例的很多替换、修改和变型对本领域普通技术人员来说将是显而易见的。例如,其它存储器架构(例如,动态RAM(DRAM))可以使用所讨论的实施例。
本公开实施例旨在涵盖落入所附权利要求的宽泛范围之内的所有这样的替换、修改和变型。因此,凡在本公开实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本公开的保护范围之内。
Claims (7)
1.一种虚拟机进程管理方法,其特征在于,所述方法应用于虚拟化管理平台;所述方法包括:
所述虚拟化管理平台接收进程保护命令,基于所述进程保护命令中的规则信息将所述进程保护命令转发至目标虚拟机;
基于预设的评分计算规则,计算所述目标虚拟机中与所述进程保护命令相对应的目标进程的进程评分;
根据所述进程评分对所述目标虚拟机中的多个进程进行排序,在需要终止进程以释放内存资源时,优先终止排序靠前的所述进程;
其中,所述进程保护命令包括所述目标进程的进程等级;
所述进程等级的确定方法包括:根据所述目标进程的动态优先级设定所述进程等级;
所述根据所述目标进程的动态优先级设定所述进程等级,包括:
响应于所述动态优先级最高,将所述进程等级设定为高级或中级;
响应于所述动态优先级最低,将所述进程等级设定为中级或低级;
响应于所述动态优先级处于最高与最低之间,根据所述目标进程的重要性设定进程等级;
基于预设的评分计算规则,计算所述目标虚拟机中与所述进程保护命令相对应的目标进程的进程评分,包括:
响应于所述进程等级为高级,确定所述目标进程的所述进程评分取最小值;
响应于所述进程等级为低级,确定所述目标进程的所述进程评分取最大值;
响应于所述进程等级为中级,根据所述目标进程的运行内存与所述目标虚拟机的总内存计算确定所述进程评分;
所述根据所述目标进程的运行内存与所述目标虚拟机的总内存计算确定所述进程评分,包括:
所述进程评分为:
其中,表示所述进程评分,/>分别表示所述进程评分的最小值与最大值,/>为中间参数,/>,/>表示所述目标进程的运行内存,/>表示所述目标虚拟机的总内存。
2.根据权利要求1所述的方法,其特征在于,基于所述进程保护命令中的规则信息将所述进程保护命令转发至目标虚拟机,包括:
将所述进程保护命令发送至消息队列服务;
由所述目标虚拟机对应的目标宿主机针对所述消息队列服务进行监听,从所述消息队列服务中获取所述进程保护命令;
所述目标宿主机根据所述规则信息针对所述进程保护命令进行归属校验,校验通过后将所述进程保护命令发送至所述目标虚拟机。
3.根据权利要求2所述的方法,其特征在于,所述消息队列服务维护多个消息队列,多个所述消息队列与所述虚拟化管理平台中的多个所述宿主机对应;
所述方法在将所述进程保护命令发送至消息队列服务后,还包括:
所述消息队列服务通过对所述规则信息进行解析,确定与所述规则信息中的虚拟机信息相对应的所述目标宿主机;
将所述进程保护命令发送到所述目标宿主机相应的所述消息队列中;
所述由所述目标虚拟机对应的目标宿主机针对所述消息队列服务进行监听,包括:
所述目标宿主机对相应的所述消息队列进行监听。
4.根据权利要求3所述的方法,其特征在于,所述目标宿主机根据所述规则信息针对所述进程保护命令进行归属校验,包括:
所述目标宿主机将所述虚拟机信息与本地虚拟机列表进行对比,以确定所述虚拟机信息对应的所述目标虚拟机是否为本地虚拟机;
若所述目标虚拟机是本地虚拟机,则校验通过。
5.根据权利要求1所述的方法,其特征在于,根据所述进程评分对所述目标虚拟机中的多个进程进行排序,在需要终止进程以释放内存资源时,优先终止排序靠前的所述进程,包括:
将多个所述进程按所述进程评分从大到小进行排序;
在需要终止进程时,从所述排序结果的第一个所述进程开始执行终止操作,直止所述目标虚拟机的内存资源满足运行需求。
6.一种虚拟机进程管理系统,其特征在于,所述系统应用于虚拟化管理平台,包括:
进程保护命令接收模块,用于接收进程保护命令,基于所述进程保护命令中的规则信息将所述进程保护命令转发至目标虚拟机;
目标进程评分模块,用于基于预设的评分计算规则,计算所述目标虚拟机中与所述进程保护命令相对应的目标进程的进程评分;以及
进程保护模块,用于根据所述进程评分对所述目标虚拟机中的多个进程进行排序,在需要终止进程以释放内存资源时,优先终止排序靠前的所述进程;
其中,所述进程保护命令包括所述目标进程的进程等级;
所述进程等级的确定方法包括:根据所述目标进程的动态优先级设定所述进程等级;
所述根据所述目标进程的动态优先级设定所述进程等级,包括:
响应于所述动态优先级最高,将所述进程等级设定为高级或中级;
响应于所述动态优先级最低,将所述进程等级设定为中级或低级;
响应于所述动态优先级处于最高与最低之间,根据所述目标进程的重要性设定进程等级;
基于预设的评分计算规则,计算所述目标虚拟机中与所述进程保护命令相对应的目标进程的进程评分,包括:
响应于所述进程等级为高级,确定所述目标进程的所述进程评分取最小值;
响应于所述进程等级为低级,确定所述目标进程的所述进程评分取最大值;
响应于所述进程等级为中级,根据所述目标进程的运行内存与所述目标虚拟机的总内存计算确定所述进程评分;
所述根据所述目标进程的运行内存与所述目标虚拟机的总内存计算确定所述进程评分,包括:
所述进程评分为:
其中,表示所述进程评分,/>分别表示所述进程评分的最小值与最大值,/>为中间参数,/>,/>表示所述目标进程的运行内存,/>表示所述目标虚拟机的总内存。
7.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至5任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211201284.1A CN115454576B (zh) | 2022-09-29 | 2022-09-29 | 一种虚拟机进程管理方法、系统及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211201284.1A CN115454576B (zh) | 2022-09-29 | 2022-09-29 | 一种虚拟机进程管理方法、系统及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115454576A CN115454576A (zh) | 2022-12-09 |
CN115454576B true CN115454576B (zh) | 2024-02-02 |
Family
ID=84308051
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211201284.1A Active CN115454576B (zh) | 2022-09-29 | 2022-09-29 | 一种虚拟机进程管理方法、系统及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115454576B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115617533B (zh) * | 2022-12-14 | 2023-03-10 | 上海登临科技有限公司 | 异构计算中进程切换管理方法及计算装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105550040A (zh) * | 2015-12-29 | 2016-05-04 | 四川中电启明星信息技术有限公司 | 基于kvm平台的虚拟机cpu资源预留算法 |
CN106020937A (zh) * | 2016-07-07 | 2016-10-12 | 腾讯科技(深圳)有限公司 | 一种创建虚拟机的方法、装置及系统 |
CN113791867A (zh) * | 2021-09-16 | 2021-12-14 | 江苏安超云软件有限公司 | 调整kvm虚拟机服务进程优先级的方法及应用 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9600331B1 (en) * | 2015-08-24 | 2017-03-21 | International Business Machines Corporation | Virtual machine placement in a cloud computing environment based on factors including optimized processor-memory affinity |
-
2022
- 2022-09-29 CN CN202211201284.1A patent/CN115454576B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105550040A (zh) * | 2015-12-29 | 2016-05-04 | 四川中电启明星信息技术有限公司 | 基于kvm平台的虚拟机cpu资源预留算法 |
CN106020937A (zh) * | 2016-07-07 | 2016-10-12 | 腾讯科技(深圳)有限公司 | 一种创建虚拟机的方法、装置及系统 |
WO2018006864A1 (zh) * | 2016-07-07 | 2018-01-11 | 腾讯科技(深圳)有限公司 | 创建虚拟机的方法、装置及系统、控制设备和存储介质 |
CN113791867A (zh) * | 2021-09-16 | 2021-12-14 | 江苏安超云软件有限公司 | 调整kvm虚拟机服务进程优先级的方法及应用 |
Non-Patent Citations (2)
Title |
---|
Virtual Memory Management using Memory Ballooning in OpenStack Cloud Platform;Pranjali P. Deshmukh等;《 IEEE Xplore》;全文 * |
私有云平台上的虚拟机进程安全检测;曹立铭;赵逢禹;;计算机应用研究(05);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN115454576A (zh) | 2022-12-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI743458B (zh) | 一種並行化執行區塊鏈交易的方法、裝置及系統 | |
CN108776934B (zh) | 分布式数据计算方法、装置、计算机设备及可读存储介质 | |
CN116848528B (zh) | 用于自动配置用于容器应用的最小云服务访问权限的技术 | |
US10996997B2 (en) | API-based service command invocation | |
US20130227232A1 (en) | Partition aware quality of service feature | |
US20170185454A1 (en) | Method and Electronic Device for Determining Resource Consumption of Task | |
US11503109B2 (en) | Processing an operation with a plurality of processing steps | |
US11704680B2 (en) | Detecting fraudulent user accounts using graphs | |
US9948631B2 (en) | Implementing single sign-on in a transaction processing system | |
WO2019047708A1 (zh) | 资源配置方法及相关产品 | |
CN113872951B (zh) | 混合云安全策略下发方法、装置、电子设备和存储介质 | |
CN110244963B (zh) | 数据更新方法、装置及终端设备 | |
TW202027003A (zh) | 受理區塊鏈存證交易的方法及系統 | |
CN108234551B (zh) | 一种数据处理方法及装置 | |
CN115454576B (zh) | 一种虚拟机进程管理方法、系统及电子设备 | |
US10520929B2 (en) | Techniques for implementing universal commands in a welding or cutting system | |
CN116933886B (zh) | 一种量子计算执行方法、系统、电子设备及存储介质 | |
US9628401B2 (en) | Software product instance placement | |
US10810148B2 (en) | Device interfacing | |
CN112100613A (zh) | 一种应用登录控制方法、装置、电子设备和存储介质 | |
CN110120963B (zh) | 一种数据处理方法、装置、设备和机器可读介质 | |
US10523591B2 (en) | Discovering resource availability across regions | |
US20210141670A1 (en) | Function performance trigger | |
CN114579085A (zh) | 网关的api开发方法及装置 | |
CN105808318B (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 |