基于定时器监控linux系统的方法、装置及存储介质制造方法及图纸

技术编号:38662457 阅读:7 留言:0更新日期:2023-09-02 22:45
本发明专利技术提出一种基于定时器监控linux系统的方法、装置及存储介质,涉及linux系统监控的技术领域,方法包括:利用linux系统中的每一个CPU的高精度定时器监控相邻的CPU的运行状态,判断被监控的CPU是否出现挂死情况,如果被监控的CPU出现挂死情况,则linux系统运行异常,启动与当前用于监控的CPU连接的信息记录模块,将被监控的CPU上出现挂死情况前的有用进程信息记录,再保存至非易失性存储模块中,利用快速恢复模块重启恢复运行异常的系统,本发明专利技术能够使linux系统运行时能准时的调度执行低优先级的应用层任务,实现了linux系统内核线程的监控。程的监控。程的监控。

【技术实现步骤摘要】
基于定时器监控linux系统的方法、装置及存储介质


[0001]本专利技术涉及linux系统监控的
,特别涉及一种基于定时器监控linux系统的方法、装置及存储介质。

技术介绍

[0002]linux系统在当前工作生产中应用广泛,不论是服务器还是嵌入式设备都大量的部署了linux系统,广泛的应用就对系统运行的安全稳健提出了更高的要求,在实际的生产运行过程中有时候可能会出现内核线程无法调度、系统甚至无法响应中断的情况,对外表现就是系统卡住了,任何业务程序都无法执行,遇到这种情况,只能重新断电重启,因此,对Linux系统运行过程进行监控能够保障系统运行的安全稳健。
[0003]现有专利文献公开了操作系统内核级实时看门狗监控装置及其监控方法,通过定时器实现的看门狗模块监控应用程序,定时器模块用于当定时器内规定时间轮转到后进行监控每个已注册的应用程序是否超时,如果监控的应用层任务没有在规定的时间内执行则认为出了问题,后面就会执行复位等一系列操作;一方面,在面对给实时linux操作系统打RT

patch补丁的过程中,由于中断都线程化了,低精度定时器是由软中断实现的,所以低精度定时器的回调函数由中断执行变成了由线程执行,从而使得该监控方法遵循进程调度的机制,这将可能导致的结果是低优先级的应用层任务有可能不会被准时的调度执行;另一方面,该方法是利用定时器实现门狗模块监控应用程序,但监控的应用程序属于应用层,仅能实现应用层任务的监控,无法实现linux系统内核线程的监控。

技术实现思路
/>[0004]为解决在现有操作系统监控方法中,无法准时的调度执行低优先级的应用层任务和无法监控系统内核线程的问题,本专利技术旨在提供一种基于定时器监控linux系统的方法、装置及存储介质,使linux系统运行时能准时的调度执行低优先级的应用层任务,实现了linux系统内核线程的监控。
[0005]为了达到上述技术效果,本专利技术的技术方案如下:
[0006]一种基于定时器监控linux系统的方法,包括以下步骤:
[0007]linux系统中的每一个CPU的高精度定时器监控相邻的CPU的运行状态,判断被监控的CPU是否出现挂死情况,若是,所述linux系统运行异常,启动与当前用于监控的CPU连接的信息记录模块;否则,继续监控其他CPU的运行状态;
[0008]所述信息记录模块将被监控的CPU出现挂死情况前的有用进程信息,全部记录至与所述信息记录模块连接的非易失性存储模块中;
[0009]所述非易失性存储模块保存所述有用进程信息,待所述有用进程信息保存结束后,启动与所述非易失性存储模块连接的快速恢复模块;
[0010]所述快速恢复模块重启恢复运行异常的linux系统。
[0011]进一步,所述linux系统中的每一个CPU注册一个高精度定时器,具体为:所述
linux系统中的每一个CPU通过利用初始化函数hrtimer_init()和开启函数hrtimer_start()注册一个函数参数指定参数HRTIMER_MODE_REL_PINNED_HARD的高精度定时器。
[0012]进一步,所述挂死情况包括进程无法调度情况和中断无法响应情况。
[0013]进一步,所述判断被监控的CPU是否出现挂死情况,具体判断过程为:
[0014]首先利用每一个CPU的高精度定时器的回调函数,在每一个CPU中分别定义第一系统变量A和第二系统变量B,当每一个CPU的高精度定时器定时到期后,让每一个CPU上的第一系统变量A增加1;
[0015]然后在被监控的CPU上获取变化后的第一系统变量A,将被监控的CPU上变化后的第一系统变量A与上一个用于监控的CPU的第二系统变量B比较,若二者比较结果相等,则被监控的CPU上出现进程无法调度和中断无法响应的挂死情况,启动与当前用于监控的CPU连接的信息记录模块;否则,被监控的CPU的运行状态正常,将被监控的CPU上变化后的第一系统变量A赋值给上一个用于监控的CPU的第二系统变量B。
[0016]进一步,所述非易失性存储模块采用嵌入式多媒体控制器保存所述有用进程信息。
[0017]进一步,所述有用进程信息包括调用栈信息,所有通用寄存器信息和任务调度轨迹信息。
[0018]进一步,所述快速恢复模块重启恢复运行异常的linux系统,具体为:所述快速恢复模块选择所述linux系统存在的重启恢复类型,基于所述重启恢复类型,利用所述linux系统存在的底层重启接口重启恢复运行异常的linux系统。
[0019]本专利技术还提出了一种基于定时器监控linux系统的装置,包括:多个监控模块、多个信息记录模块、多个非易失性存储模块和多个快速恢复模块;
[0020]所述监控模块,用于通过linux系统中的每一个CPU的高精度定时器监控相邻的CPU的运行状态,判断被监控的CPU是否出现挂死情况,若是,所述linux系统运行异常,启动与当前用于监控的CPU连接的信息记录模块;否则,继续监控其他CPU的运行状态;
[0021]所述信息记录模块,用于将被监控的CPU上出现挂死情况前的有用进程信息,全部记录至与所述信息记录模块连接的非易失性存储模块中;
[0022]所述非易失性存储模块,用于保存所述有用进程信息,待所述有用进程信息保存结束后,启动与所述非易失性存储模块连接的快速恢复模块;
[0023]所述快速恢复模块,用于重启恢复运行异常的linux系统。
[0024]本专利技术还提出了一种计算机设备,其特征在于,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
[0025]所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行所述的基于定时器监控linux系统的方法的操作。
[0026]本专利技术还提出了一种计算机可读存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令在计算机设备上运行时,使得计算机设备执行所述的基于定时器监控linux系统的方法的操作。
[0027]与现有技术相比,本专利技术技术方案的有益效果是:
[0028]本专利技术提出一种基于定时器监控linux系统的方法、装置及存储介质,首先通过linux系统中的每一个CPU的高精度定时器监控相邻的CPU的运行状态,目的是使linux系统
中的每一个CPU的高精度定时器通过软件方式实现的看门狗来实现CPU间互相监控,而不需要依赖与外部的硬件看门狗设备,同时保障了linux系统内核线程能得到监控,有效防止了linux系统运行异常时系统由中断执行变成了由线程执行,然后判断被监控的CPU是否出现挂死情况,如果被监控的CPU出现挂死情况,则说明linux系统运行异常,此时迅速启动与当前用于监控的CPU连接的信息记录模块,信息记录模块将被监控的CPU上出现挂死情况前的有用进程信息记录,再保存至非易失性存储模块中,便于研发人员后期对被监控的CP本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种基于定时器监控linux系统的方法,其特征在于,包括以下步骤:linux系统中的每一个CPU的高精度定时器监控相邻的CPU的运行状态,判断被监控的CPU是否出现挂死情况,若是,所述linux系统运行异常,启动与当前用于监控的CPU连接的信息记录模块;否则,继续监控其他CPU的运行状态;所述信息记录模块将被监控的CPU出现挂死情况前的有用进程信息,全部记录至与所述信息记录模块连接的非易失性存储模块中;所述非易失性存储模块保存所述有用进程信息,待所述有用进程信息保存结束后,启动与所述非易失性存储模块连接的快速恢复模块;所述快速恢复模块重启恢复运行异常的linux系统。2.根据权利要求1所述的基于定时器监控linux系统的方法,其特征在于,所述linux系统中的每一个CPU注册一个高精度定时器,具体为:所述linux系统中的每一个CPU通过利用初始化函数hrtimer_init()和开启函数hrtimer_start()注册一个函数参数指定参数HRTIMER_MODE_REL_PINNED_HARD的高精度定时器。3.根据权利要求1所述的基于定时器监控linux系统的方法,其特征在于,所述挂死情况包括进程无法调度情况和中断无法响应情况。4.根据权利要求3所述的基于定时器监控linux系统的方法,其特征在于,所述判断被监控的CPU是否出现挂死情况,具体判断过程为:首先利用每一个CPU的高精度定时器的回调函数,在每一个CPU中分别定义第一系统变量A和第二系统变量B,当每一个CPU的高精度定时器定时到期后,让每一个CPU上的第一系统变量A增加1;然后在被监控的CPU上获取变化后的第一系统变量A,将被监控的CPU上变化后的第一系统变量A与上一个用于监控的CPU的第二系统变量B比较,若二者比较结果相等,则被监控的CPU上出现进程无法调度和中断无法响应的挂死情况,启动与当前用于监控的CPU连接的信息记录模块;否则,被监控的CPU的运行状态正常,将被监控的CPU上变化后的第一系统变量A赋值给上一个用于监控的CPU的第二系统变量B。5.根据权利要求1所述的基于定时器...

【专利技术属性】
技术研发人员:臧克敏
申请(专利权)人:重庆长安汽车股份有限公司
类型:发明
国别省市:

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

1