JVM性能监控方法、装置、系统以及存储介质制造方法及图纸

技术编号:36929477 阅读:23 留言:0更新日期:2023-03-22 18:52
本公开提供了一种JVM性能监控方法、装置、系统以及存储介质,其中的方法包括:在应用程序运行所在的目标JVM启动时,启动监控代理并附加到目标JVM;将监控代理在监控服务器中进行注册,并建立监控代理与监控服务器之间的通信连接;通过监控代理采集目标JVM的性能数据并发送给监控服务器,在接收监控服务器发送的性能快照获取指令的情况下,获取目标JVM的性能快照信息并发送给监控服务器。本公开能够有效监控目标JVM的性能数据,对JVM出现的异常进行告警,提高异常告警的准确性;提高了对于异常问题的排查处理的效率和精度。常问题的排查处理的效率和精度。常问题的排查处理的效率和精度。

【技术实现步骤摘要】
JVM性能监控方法、装置、系统以及存储介质


[0001]本专利技术涉及计算机
,尤其涉及一种JVM性能监控方法、装置、系统以及存储介质。

技术介绍

[0002]在业务快速发展过程中,各业务大多采用敏捷开发、快速迭代的方式,业务代码可能会被部署在公有云、私有云或者混合云中。对于业务的现有应用场景,从问题的发现到修改,再到最后的业务部署,需要大量的时间成本。在互联网金融行业,业务系统的平稳是核心指标,如何在出现问题时快速恢复服务并解决问题尤为重要。基于JAVA语言开发的应用程序通常在JVM(Java Virtual Machine,)上运行,JVM是JAVA程序运行的虚拟机,JAVA程序在其上运行需要耗费物理机的CPU资源。目前,现有技术对于JVM耗费的CPU资源缺少有效的监控方法,并且在出现问题后无法留存快照信息,在问题排查定位和处理上造成困难。

技术实现思路

[0003]有鉴于此,本专利技术要解决的一个技术问题是提供一种JVM性能监控方法、装置、系统以及存储介质。
[0004]根据本公开的第一方面,提供一种JVM性本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种JVM性能监控方法,包括:在应用程序运行所在的目标JVM启动时,启动监控代理并附加到所述目标JVM;将所述监控代理在监控服务器中进行注册,并建立所述监控代理与所述监控服务器之间的通信连接;使用所述监控代理采集所述目标JVM的性能数据,并通过所述通信连接发送给所述监控服务器;在所述监控代理接收所述监控服务器发送的性能快照获取指令的情况下,使用所述监控代理获取所述目标JVM的性能快照信息,并通过所述通信连接发送给所述监控服务器。2.如权利要求1所述的方法,其中,所述目标JVM的性能数据包括:所述目标JVM的CPU使用率;所述使用所述监控代理采集所述目标JVM的性能数据包括:使用所述监控代理采集所述目标JVM的日志文件,基于所述日志文件获得所述目标JVM的CPU使用率。3.如权利要求2所述的方法,所述使用所述监控代理获取所述目标JVM的性能快照信息包括:在接收到所述性能快照获取指令之后,使用所述监控代理并基于所述日志文件获得耗费CPU资源最多的至少一个线程的信息;基于所述耗费CPU资源最多的至少一个线程的信息生成所述目标JVM的性能快照信息。4.如权利要求2所述的方法,还包括:所述监控服务器周期性地接收所述监控代理发送的所述目标JVM的CPU使用率;当所述监控服务器判断所述目标JVM的CPU使用率大于CPU使用率阈值时,进行预警处理并向所述监控代理下发所述性能快照获取指令。5.如权利要求1所述的方法,所述启动监控代理并附加到所述目标JVM包括:生成与所述监控代理相对应的程序文件包;其中,所述程序文件包内的文件包括与所述监控代理相对应的Instrumentation类文件,所述Instrumentation类包括:java.lang.instrument.Instrumentation类;在所述目标JVM的主程序启动之前,运行所述程序文件包,创建所述监控代理并附加到所述目标JVM。6.如权利要求5所述的方法,还包括:在运行所述程序文件包时,创建与所述监控代理相对应的attach_pid文件;如果不存在与所述监控代理相对应的java_pid文件,则发送SIGBREAK信号;在进行校验后创建java_pid文件并与套接字进行绑定,采集所述目标JVM的性能数据。7.一种JVM性能监控装置,包括:代理启动模块,用于在应用程序运行所在的目标JVM启动时,启动监控代理并附加到所述目标JVM;代理注册模块,用于将所述监控代理在监控服务器进行注册,并建立与所述监控服务...

【专利技术属性】
技术研发人员:张兆强陈宽巫杨锦吴迪
申请(专利权)人:厦门友微科技有限公司
类型:发明
国别省市:

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

1