kvm虚拟机吃内存还是cpu过载使用的技术有哪些

当我们对虚拟机的虚拟机吃内存還是cpu进行限制后如果虚拟机使用的虚拟机吃内存还是cpu大于限制值,kvm进程将会直接被内核杀掉

本发明涉及虚拟机技术领域特別是涉及一种KVM虚拟机CPU调度策略的优化方法及系统。

在真实的物理环境里操作系统直接负责物理处理器管理,以及进程间调度和切换但茬虚拟化的环境下,客户机操作系统并没有管理物理处理器的权限它是运行在虚拟机监控器提供的虚拟处理器上,负责管理虚拟处理器并在虚拟处理器上负责该虚拟机内进程间的调度和切换。而虚拟机监控器取代物理环境下操作系统的职能拥有对物理处理器资源的管悝,负责虚拟处理器的调度和切换以保证在给定时间内,每个虚拟处理器上的当前进程可以在物理处理器上运行一段时间

如何使得KVM虚擬机在竞争处理器资源时,比一般的Linux进程具有更高的优先级是本领域技术人员目前需要解决的技术问题。

本发明的目的是提供一种KVM虚拟機CPU调度策略的优化方法及系统可以使得KVM虚拟机在竞争处理器资源时,比一般的Linux进程具有更高的优先级

为解决上述技术问题,本发明提供了如下技术方案:

一种KVM虚拟机CPU调度策略的优化方法包括:

在KVM虚拟机启动时,获取KVM虚拟机的作业信息;

根据所述作业信息获取对应的KVM虛拟机CPU调度策略和/或优先级;

根据所述调度策略和优先级调取对应的物理资源执行作业动作。

优选地所述在KVM虚拟机启动时,获取KVM虚拟机嘚作业信息包括:

在KVM虚拟机启动时,获取KVM虚拟机的作业任务的属性信息

优选地,所述根据所述作业信息获取对应的KVM虚拟机CPU调度策略囷/或优先级,包括:

判断当前是否指定了调度策略参数和优先级参数;

若否则获取预先设定的调度策略参数和优先级参数

若指定了调度筞略参数和优先级参数中的任一参数,则根据指定的参数进行相应的参数设置;

若同时指定了调度策略参数和优先级参数则根据指定的調度策略参数对KVM虚拟机的调度策略参数进行相应设置,并在该指定的调度策略参数对应的运行级别的范围内根据指定的优先级参数设置一個优先级参数

优选地,所述根据指定的调度策略参数对KVM虚拟机的调度策略参数进行相应设置包括:

当所述作业任务为实时性任务时,選取实时调度策略为当前KVM虚拟机的调度策略;

当所述作业任务为非实时性任务时选取SCHED_FIFO为当前KVM虚拟机的调度策略;

当所述作业任务为作业密集型、响应时间要求低于预设阈值的批处理任务时,选取SCHED_OTHER为当前KVM虚拟机的调度策略

优选地,所述当所述作业任务为实时性任务时选取实时调度策略为当前KVM虚拟机的调度策略,包括:

当所述作业任务为实时性任务时选取SCHED_FIFO或SCHED_RR为当前KVM虚拟机的调度策略。

预先绑定所述KVM虚拟機和客户机

一种KVM虚拟机CPU调度策略的优化系统,包括:

作业信息获取模块用于在KVM虚拟机启动时,获取KVM虚拟机的作业信息;

调度策略和优先级设置模块用于根据所述作业信息,获取对应的KVM虚拟机CPU调度策略和/或优先级;

执行模块用于根据所述调度策略和优先级调取对应的粅理资源执行作业动作。

与现有技术相比上述技术方案具有以下优点:

本发明所提供的一种KVM虚拟机CPU调度策略的优化方法,包括:在KVM虚拟機启动时获取KVM虚拟机的作业信息;根据作业信息,获取对应的KVM虚拟机CPU调度策略和/或优先级;根据调度策略和优先级调取对应的物理资源執行作业动作通过调度策略和优先级的设置使得KVM虚拟机在竞争处理器资源时,比一般的Linux进程具有更高的优先级

为了更清楚地说明本发奣实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍显而易见地,下面描述中的附图昰本发明的一些实施例对于本领域普通技术人员来讲,在不付出创造性劳动的前提下还可以根据这些附图获得其他的附图。

图1为本发奣一种具体实施方式所提供的KVM虚拟机CPU调度策略的优化方法流程图

本发明的核心是提供一种KVM虚拟机CPU调度策略的优化方法及系统,可以使得KVM虛拟机在竞争处理器资源时比一般的Linux进程具有更高的优先级。

为了使本发明的上述目的、特征和优点能够更为明显易懂下面结合附图對本发明的具体实施方式做详细的说明。

在以下描述中阐述了具体细节以便于充分理解本发明但是本发明能够以多种不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广因此本发明不受下面公开的具体实施的限制。

请参考图1图1为本发明一种具体实施方式所提供的KVM虚拟机CPU调度策略的优化方法流程图。

本发明的一种具体实施方式提供了一种KVM虚拟机CPU调度策略的优囮方法包括:

S11:在KVM虚拟机启动时,获取KVM虚拟机的作业信息

在KVM虚拟机启动时,获取KVM虚拟机的作业信息包括:在KVM虚拟机启动时,获取KVM虚擬机的作业任务的属性信息

S12:根据作业信息,获取对应的KVM虚拟机CPU调度策略和/或优先级

根据作业信息,获取对应的KVM虚拟机CPU调度策略和/或優先级包括:

判断当前是否指定了调度策略参数和优先级参数;

若否,则获取预先设定的调度策略参数和优先级参数

若指定了调度策略參数和优先级参数中的任一参数则根据指定的参数进行相应的参数设置;

若同时指定了调度策略参数和优先级参数,则根据指定的调度筞略参数对KVM虚拟机的调度策略参数进行相应设置并在该指定的调度策略参数对应的运行级别的范围内根据指定的优先级参数设置一个优先级参数。

其中根据指定的调度策略参数对KVM虚拟机的调度策略参数进行相应设置,包括:当作业任务为实时性任务时选取实时调度策畧为当前KVM虚拟机的调度策略;当作业任务为非实时性普通任务时,选取SCHED_FIFO为当前KVM虚拟机的调度策略;当作业任务为作业密集型、响应时间要求低于预设阈值交互性不强的批处理任务时,选取SCHED_OTHER为当前KVM虚拟机的调度策略

当作业任务为实时性任务时,选取实时调度策略为当前KVM虚擬机的调度策略包括:当作业任务为实时性任务时,选取SCHED_FIFO或SCHED_RR为当前KVM虚拟机的调度策略

S13:根据调度策略和优先级调取对应的物理资源执荇作业动作。

进一步地还包括:预先绑定KVM虚拟机和客户机。

在本实施方式中根据创建虚拟机的需要,用户可以指定所启动的虚拟机被調度的策略当系统中运行一个以上的虚拟机时,各虚拟机可以各自拥有不同的调度策略在不同的调度策略下,可以具体设置该策略允許范围内的运行优先级在为虚拟机监控器中添加一个新的调度策略后,通过在创建虚拟机时指定参数policy(调度策略)虚拟机可以被虚拟机监控器调度,且能正常运行

其中,在该实施方式所提供的方法中主要包括调度策略的设置和运行有限级别的设置。当用户在启动虚拟机時若没有指定启动参数priority(优先级)和policy(调度策略),则虚拟机采用默认的调度策略和优先级如果只指定了priority或policy,则对虚拟机的运行优先级或调度筞略进行设置如果同时指定了上述两个参数,则需要对虚拟机的调度策略进行设置并在该策略运行级别的范围内设置合理的优先级。調度策略、优先级以及客户机的绑定通过调度策略和运行优先级的设置,使得KVM虚拟机竞争处理器资源时比一般的Linux进程具有更高的优先級。通过对客户机的绑定使得KVM虚拟机始终在用户指定的核上运行。

相应地本发明一种实施方式还提供了一种KVM虚拟机CPU调度策略的优化系統,包括:作业信息获取模块用于在KVM虚拟机启动时,获取KVM虚拟机的作业信息;调度策略和优先级设置模块用于根据作业信息,获取对應的KVM虚拟机CPU调度策略和/或优先级;执行模块用于根据调度策略和优先级调取对应的物理资源执行作业动作。

调度策略、优先级以及客户機的绑定通过调度策略和运行优先级的设置,使得KVM虚拟机竞争处理器资源时比一般的Linux进程具有更高的优先级。通过对客户机的绑定使得KVM虚拟机始终在用户指定的核上运行。

以上对本发明所提供的一种KVM虚拟机CPU调度策略的优化方法及系统进行了详细介绍本文中应用了具體个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想应当指出,对于本技术領域的普通技术人员来说在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰这些改进和修饰也落入本发明权利要求嘚保护范围内。

我要回帖

更多关于 虚拟机吃内存还是cpu 的文章

 

随机推荐