处理器状态监控方法及装置制造方法及图纸

技术编号:34143958 阅读:16 留言:0更新日期:2022-07-14 18:30
本申请实施例提供一种处理器状态监控方法及装置,应用于处理器,处理器中运行有宿主系统和虚拟系统,宿主系统中设置有基于采样的精准事件PEBS驱动,处理器中设置有PEBS单元,该方法包括:在虚拟系统下,通过PEBS单元,确定处理器在虚拟系统下的状态信息。在虚拟系统下,通过PEBS单元,在虚拟系统的PEBS缓冲区中记录状态信息。在宿主系统下,通过PEBS驱动,在PEBS缓冲区中获取状态信息。通过在虚拟系统下,通过处理器的PEBS单元对处理器在虚拟系统下的状态信息进行获取和记录,之后再通过宿主系统下的PEBS驱动,从虚拟系统的PEBS缓冲区中获取上述状态信息,从而可以有效实现在宿主系统中获取虚拟系统对应的处理器状态,有效提升了宿主系统获取的处理器状态的全面性。了宿主系统获取的处理器状态的全面性。了宿主系统获取的处理器状态的全面性。

【技术实现步骤摘要】
处理器状态监控方法及装置


[0001]本申请实施例涉及计算机技术,尤其涉及一种处理器状态监控方法及装置。

技术介绍

[0002]在处理器上可以同时运行宿主系统和虚拟系统,其中对处理器的状态进行精确监控是尤为重要的。
[0003]现有技术中在实现对处理器的状态进行监控时,通常是在宿主系统中监控宿主系统对应的处理器状态,而在虚拟系统中监控虚拟系统对应的处理器状态,而无法在宿主系统中对虚拟系统的处理器状态进行监控,这样会导致在宿主系统中无法获取到完整的处理器状态。

技术实现思路

[0004]本申请实施例提供一种处理器状态监控方法及装置,以克服在宿主系统中无法获取到完整的处理器状态的问题。
[0005]第一方面,本申请实施例提供一种处理器状态监控方法,处理器中运行有宿主系统和虚拟系统,所述宿主系统中设置有基于采样的精准事件PEBS驱动,所述处理器中设置有PEBS单元,所述方法包括:
[0006]在所述虚拟系统下,通过所述PEBS单元,确定所述处理器在所述虚拟系统下的状态信息;
[0007]在所述虚拟系统下,通过所述PEBS单元,在所述虚拟系统的PEBS缓冲区中记录所述状态信息;
[0008]在所述宿主系统下,通过所述PEBS驱动,在所述PEBS缓冲区中获取所述状态信息。
[0009]在一种可能的设计中,通过所述PEBS驱动,在所述PEBS缓冲区中获取所述状态信息,包括:
[0010]确定所述PEBS缓冲区的剩余存储空间;
[0011]在所述剩余存储空间小于或等于预设阈值时,控制所述虚拟系统退出,并通过所述宿主系统的PEBS驱动,在所述PEBS缓冲区中获取所述状态信息。
[0012]在一种可能的设计中,控制所述虚拟系统退出,包括:
[0013]获取所述PEBS单元生成的中断信号;
[0014]响应于所述中断信号,所述虚拟系统退出。
[0015]在一种可能的设计中,通过所述PEBS驱动,在所述PEBS缓冲区中获取所述状态信息之后,还包括:
[0016]清空所述虚拟系统的PEBS缓冲区;
[0017]重新进入所述虚拟系统。
[0018]在一种可能的设计中,通过所述PEBS驱动,获取所述虚拟系统的PEBS缓冲区之前,所述方法还包括:
[0019]初始化所述虚拟系统OVMF的PEBS驱动,以在所述虚拟系统的内存中确定第一缓冲区;
[0020]通过所述宿主系统的PEBS驱动,将所述第一缓冲区设置为所述虚拟系统的PEBS缓冲区。
[0021]在一种可能的设计中,通过所述宿主系统的PEBS驱动,将所述第一缓冲区设置为所述虚拟系统的PEBS缓冲区,包括:
[0022]在虚拟系统管理器中注册超级调用;
[0023]通过所述超级调用获取所述第一缓冲区;
[0024]通过所述宿主系统的PEBS驱动,将所述第一缓冲区设置在所述PEBS单元中,以将所述第一缓冲区作为所述虚拟系统的PEBS缓冲区。
[0025]在一种可能的设计中,所述虚拟系统中包括关闭接口,所述关闭接口用于关闭所述虚拟系统的PEBS功能。
[0026]第二方面,本申请实施例提供一种处理器状态监控装置,处理器中运行有宿主系统和虚拟系统,所述宿主系统中设置有基于采样的精准事件PEBS驱动,所述处理器中设置有PEBS单元,所述装置包括:
[0027]确定模块,用于在所述虚拟系统下,通过所述PEBS单元,确定所述处理器在所述虚拟系统下的状态信息;
[0028]记录模块,用于在所述虚拟系统下,通过所述PEBS单元,在所述虚拟系统的PEBS缓冲区中记录所述状态信息;
[0029]获取模块,用于在所述宿主系统下,通过所述PEBS驱动,在所述PEBS缓冲区中获取所述状态信息。
[0030]在一种可能的设计中,所述获取模块具体用于:
[0031]确定所述PEBS缓冲区的剩余存储空间;
[0032]在所述剩余存储空间小于或等于预设阈值时,控制所述虚拟系统退出,并通过所述宿主系统的PEBS驱动,在所述PEBS缓冲区中获取所述状态信息。
[0033]在一种可能的设计中,所述获取模块具体用于:
[0034]获取所述PEBS单元生成的中断信号;
[0035]响应于所述中断信号,所述虚拟系统退出。
[0036]在一种可能的设计中,所述装置还包括:处理模块;
[0037]所述处理模块用于:
[0038]在通过所述PEBS驱动,在所述PEBS缓冲区中获取所述状态信息之后,清空所述虚拟系统的PEBS缓冲区;
[0039]重新进入所述虚拟系统。
[0040]在一种可能的设计中,所述处理模块还用于:
[0041]在通过所述PEBS驱动,获取所述虚拟系统的PEBS缓冲区之前,初始化所述虚拟系统OVMF的PEBS驱动,以在所述虚拟系统的内存中确定第一缓冲区;
[0042]通过所述宿主系统的PEBS驱动,将所述第一缓冲区设置为所述虚拟系统的PEBS缓冲区。
[0043]在一种可能的设计中,所述处理模块具体用于:
[0044]在虚拟系统管理器中注册超级调用;
[0045]通过所述超级调用获取所述第一缓冲区;
[0046]通过所述宿主系统的PEBS驱动,将所述第一缓冲区设置在所述PEBS单元中,以将所述第一缓冲区作为所述虚拟系统的PEBS缓冲区。
[0047]在一种可能的设计中,所述虚拟系统中包括关闭接口,所述关闭接口用于关闭所述虚拟系统的PEBS功能。
[0048]第三方面,本申请实施例提供一种处理器状态监控设备,包括:
[0049]存储器,用于存储程序;
[0050]处理器,用于执行所述存储器存储的所述程序,当所述程序被执行时,所述处理器用于执行如上第一方面以及第一方面各种可能的设计中任一所述的方法。
[0051]第四方面,本申请实施例提供一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行如上第一方面以及第一方面各种可能的设计中任一所述的方法。
[0052]第五方面,本申请实施例提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现如上第一方面以及第一方面各种可能的设计中任一所述的方法。
[0053]本申请实施例提供一种处理器状态监控方法及装置,应用于处理器,处理器中运行有宿主系统和虚拟系统,宿主系统中设置有基于采样的精准事件PEBS驱动,处理器中设置有PEBS单元,该方法包括:在虚拟系统下,通过PEBS单元,确定处理器在虚拟系统下的状态信息。在虚拟系统下,通过PEBS单元,在虚拟系统的PEBS缓冲区中记录状态信息。在宿主系统下,通过PEBS驱动,在PEBS缓冲区中获取状态信息。通过在虚拟系统下,通过处理器的PEBS单元对处理器在虚拟系统下的状态信息进行获取和记录,之后再通过宿主系统下的PEBS驱动,从虚拟系统的PEB本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种处理器状态监控方法,其特征在于,处理器中运行有宿主系统和虚拟系统,所述宿主系统中设置有基于采样的精准事件PEBS驱动,所述处理器中设置有PEBS单元,所述方法包括:在所述虚拟系统下,通过所述PEBS单元,确定所述处理器在所述虚拟系统下的状态信息;在所述虚拟系统下,通过所述PEBS单元,在所述虚拟系统的PEBS缓冲区中记录所述状态信息;在所述宿主系统下,通过所述PEBS驱动,在所述PEBS缓冲区中获取所述状态信息。2.根据权利要求1所述的方法,其特征在于,通过所述PEBS驱动,在所述PEBS缓冲区中获取所述状态信息,包括:确定所述PEBS缓冲区的剩余存储空间;在所述剩余存储空间小于或等于预设阈值时,控制所述虚拟系统退出,并通过所述宿主系统的PEBS驱动,在所述PEBS缓冲区中获取所述状态信息。3.根据权利要求2所述的方法,其特征在于,控制所述虚拟系统退出,包括:获取所述PEBS单元生成的中断信号;响应于所述中断信号,所述虚拟系统退出。4.根据权利要求2或3所述的方法,其特征在于,通过所述PEBS驱动,在所述PEBS缓冲区中获取所述状态信息之后,还包括:清空所述虚拟系统的PEBS缓冲区;重新进入所述虚拟系统。5.根据权利要求1

4任一项所述的方法,其特征在于,通过所述PEBS驱动,获取所述虚拟系统的PEBS缓冲区之前,所述方法还包括:初始化所述虚拟系统开放虚拟机固件OVMF的PEBS驱动,以在所述虚拟系统的内存中确定第一缓冲区;通过所述宿主系统的PEBS驱动,将所述第一缓冲区设置为所述虚拟系统的PEBS缓冲区。6.根据权利要求5...

【专利技术属性】
技术研发人员:王阳杰张仁泽谢宜生裘稀石
申请(专利权)人:阿里巴巴中国有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1