本发明专利技术涉及一种基于
【技术实现步骤摘要】
一种基于Hypervisor的虚拟核心监控方法、装置及电子设备
[0001]本专利技术涉及计算机领域,具体地,涉及一种基于
Hypervisor
的虚拟核心监控方法
、
装置及电子设备
。
技术介绍
[0002]随着虚拟化技术的广泛应用,单个嵌入式设备上可以同时运行多个虚拟机,而每个虚拟机又可以具有多个虚拟核心
。
为了确保虚拟机的正常运行,监控虚拟核心的状态变得至关重要
。
目前,已有的监控系统大多是基于监控虚拟机的整体状态,缺乏对虚拟核心的细粒度监控
。
因此,需要一种能够监控每个虚拟核心状态的解决方案
。
技术实现思路
[0003]本专利技术的目的是提供一种基于
Hypervisor
的虚拟核心监控方法
、
装置及电子设备,用于提供一种能够监控每个虚拟核心状态的解决方案
。
[0004]为了实现上述目的,本专利技术第一方面提供一种基于
Hypervisor
的虚拟核心监控方法,包括:
[0005]在虚拟机监视器
Hypervisor
启动后,为嵌入式设备上的每个虚拟核心维护一个对应的计时器;
[0006]每个所述虚拟核心按固定时间间隔,更新所述计时器的值为当前时间;
[0007]定期检查每个所述虚拟核心的计时器的值是否发生变化;其中,所述定期检查的时间间隔大于所述固定时间间隔;
[0008]若所述虚拟核心的计时器的值未发生变化,则确定所述虚拟核心异常
。
[0009]可选的,所述方法还包括:
[0010]在确定所述虚拟核心异常时,向异常的虚拟核心所在的物理核心发送中断请求,并记录所述物理核心的堆栈信息
。
[0011]可选的,所述方法还包括:
[0012]向异常的虚拟核心注入虚拟中断请求,并记录异常的虚拟核心的堆栈信息
。
[0013]可选的,所述方法还包括:
[0014]当发现所述虚拟核心连续不响应的次数达到设定的次数阈值时,则重启所述异常的虚拟核心所在的虚拟机
。
[0015]可选的,对于异常的虚拟核心,若所述异常的虚拟核心重新响应,则将所述虚拟核心对应的连续不响应的次数重新计为
0。
[0016]本专利技术第二方面提供一种虚拟核心监控装置,包括:
[0017]计时器模块,用于在虚拟机监视器
Hypervisor
启动后,为嵌入式设备上的每个虚拟核心维护一个对应的计时器;
[0018]计时器更新模块,用于按固定时间间隔,更新所述计时器的值为当前时间;
[0019]定期检查模块,用于定期检查每个所述虚拟核心的计时器的值是否发生变化;其
中,所述定期检查的时间间隔大于所述固定时间间隔;
[0020]异常监控模块,用于在所述虚拟核心的计时器的值未发生变化时,确定所述虚拟核心异常
。
[0021]本专利技术第三方面提供一种非临时性计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现第一方面所述方法的步骤
。
[0022]本专利技术第四方面提供一种电子设备,包括:
[0023]存储器,其上存储有计算机程序;
[0024]处理器,用于执行所述存储器中的所述计算机程序,以实现第一方面所述方法的步骤
。
[0025]本专利技术实施例中,通过模拟看门狗监控每个虚拟机的
CPU
核心,以确保虚拟核心的正常运行
。
该系统在
Hypervisor
启动后为每个虚拟核心维护一个计时器
TICK_TIME
,并通过定时器检查每个虚拟核心的响应情况
。
当虚拟核心不响应时,则确定该虚拟核心发生异常
。
通过监控每个虚拟核心的状态,可以更精确地定位和处理异常情况,提高系统的稳定性和可靠性
。
[0026]本专利技术的其他特征和优点将在随后的具体实施方式部分予以详细说明
。
附图说明
[0027]附图是用来提供对本专利技术的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本专利技术,但并不构成对本专利技术的限制
。
在附图中:
[0028]图1是根据一示例性实施例示出的虚拟核心监控方法的流程示意图;
[0029]图2是根据一示例性实施例示出的虚拟核心监控方法的另一流程示意图;
[0030]图3是根据一示例性实施例示出的虚拟核心监控装置的框图
。
具体实施方式
[0031]以下结合附图对本专利技术的具体实施方式进行详细说明
。
应当理解的是,此处所描述的具体实施方式仅用于说明和解释本专利技术,并不用于限制本专利技术
。
[0032]请参考图1,本专利技术实施例提供一种基于
Hypervisor
的虚拟核心监控方法,用于在
Hypervisor(
虚拟机监视器,英语全称:
virtual machine monitor
,缩写为
VMM)
上运行时,判断每个虚拟核心的响应状态,进而监控每个虚拟核心的状态
。
该方法包括以下步骤
。
[0033]步骤
101
,在
Hypervisor
启动后,为嵌入式设备上的每个虚拟核心维护一个对应的计时器
。
本专利技术实施例中,计时器也称为
TICK_TIME
变量,用于记录对应的虚拟核心最近一次写入模拟寄存器的时间
。
[0034]步骤
102
,每个所述虚拟核心按固定时间间隔,更新所述计时器的值为当前时间
。
在步骤
102
中,每个虚拟核心将当前时间写入模拟寄存器,即更新
TICK_TIME
的值,使得
tick_time
=
current_time。
[0035]步骤
103
,定期检查每个所述虚拟核心的计时器的值是否发生变化;其中,所述定期检查的时间间隔大于所述固定时间间隔
。
假设定期检查的时间间隔为
M
秒,所述固定时间间隔为
N
秒,则
M
>
N。
[0036]步骤
104
,若所述虚拟核心的计时器的值未发生变化,则确定所述虚拟核心异常
。
[0037]本专利技术实施例中,通过模拟看门狗监控每个虚拟机的
CPU
核心,以确保虚拟核心的正常运行
。
该系统在
Hypervisor
启动后,为每个虚拟核心维护一个器
TICK_TIME
...
【技术保护点】
【技术特征摘要】
1.
一种基于
Hypervisor
的虚拟核心监控方法,其特征在于,包括:在虚拟机监视器
Hypervisor
启动后,为嵌入式设备上的每个虚拟核心维护一个对应的计时器;每个所述虚拟核心按固定时间间隔,更新所述计时器的值为当前时间;定期检查每个所述虚拟核心的计时器的值是否发生变化;其中,所述定期检查的时间间隔大于所述固定时间间隔;若所述虚拟核心的计时器的值未发生变化,则确定所述虚拟核心异常
。2.
如权利要求1所述的方法,其特征在于,所述方法还包括:在确定所述虚拟核心异常时,向异常的虚拟核心所在的物理核心发送中断请求,并记录所述物理核心的堆栈信息
。3.
如权利要求1所述的方法,其特征在于,所述方法还包括:向异常的虚拟核心注入虚拟中断请求,并记录异常的虚拟核心的堆栈信息
。4.
如权利要求1所述的方法,其特征在于,所述方法还包括:当发现所述虚拟核心连续不响应的次数达到设定的次数阈值时,则重启所述异常的虚拟核心所在的虚拟机
。5.
【专利技术属性】
技术研发人员:请求不公布姓名,请求不公布姓名,请求不公布姓名,请求不公布姓名,请求不公布姓名,请求不公布姓名,请求不公布姓名,请求不公布姓名,
申请(专利权)人:中瓴智行成都科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。