一种JVM性能监控方法、系统、设备及介质技术方案

技术编号:34986853 阅读:17 留言:0更新日期:2022-09-21 14:31
本发明专利技术提供了一种JVM性能监控方法、系统、设备及介质,所述方法包括:采用Java提供的垃圾回收事件监听器,周期性的获取所述JVM中发生的垃圾回收事件;对所述垃圾回收事件进行分析,将所述垃圾回收事件序列化为自定义格式的网络数据包;基于所述网络数据包,获取所述JVM中各个应用程序的垃圾回收情况;基于所述垃圾回收情况,对所述JVM的安全风险进行预警。具有能够对JVM的运行进行风险告警,提高JVM的运行稳定性的效果。稳定性的效果。稳定性的效果。

【技术实现步骤摘要】
一种JVM性能监控方法、系统、设备及介质


[0001]本专利技术涉及计算机
,具体而言,涉及一种JVM性能监控方法、系统、设备及介质。

技术介绍

[0002]JVM是Java Virtual Machine的缩写,即Java虚拟机,它是一种基于计算机设备的规范虚构的计算机;JVM屏蔽了具体操作系统平台的信息,通过JVM,Java实现了平台无关性,Java语言在不同平台上运行时不需要重新编译,只需要在该平台上部署JVM就可以。
[0003]在使用JVM时,需要对JVM进行监控,才能够更好的控制使用过程,在监控JVM的过程中,专注于其内存使用情况。现有技术中,有多中JVM监控方法,例如采用Jvisualvm或Java Flight Recorder等;其中,Jvisualvm是Java提供的JVM可视化工具,如果需要监控服务器上的远程JVM,需要服务器开放JMX端口进行连接,易造成较大的安全隐患。且在生产环境中,jvisualvm和jstat 等工具也无法方便的获取到 JVM 的垃圾回收信息。

技术实现思路

[0004]本专利技术的目的在于提供一种JVM性能监控方法、系统、设备及介质,其目的在于在生产环境中,对JVM进行监测,以对JVM的运行进行风险告警,提高JVM的运行稳定性。
[0005]本专利技术的实施例通过以下技术方案实现:第一方面本申请实施例提供一种JVM性能监控方法,所述方法包括:采用Java提供的垃圾回收事件监听器,周期性的获取所述JVM中发生的垃圾回收事件;对所述垃圾回收事件进行分析,将所述垃圾回收事件序列化为自定义格式的网络数据包;基于所述网络数据包,获取所述JVM中各个应用程序的垃圾回收情况;基于所述垃圾回收情况,对所述JVM的安全风险进行预警。
[0006]可选地,所述对所述垃圾回收事件进行分析,将所述垃圾回收事件序列化为自定义格式的网络数据包,包括:构建JVM性能分析器;建立所述JVM性能分析器与所述垃圾回收事件监听器之间的网络连接;周期性的迭代保存在所述应用程序本地缓存中的所述垃圾回收事件,并将其序列化为自定义格式的网络数据包;基于所述JVM性能分析器与所述垃圾回收事件监听器之间的网络连接,将所述网络数据包发送到所述JVM性能分析器。
[0007]可选地,所述方法还包括,每在所述应用程序本地缓存中序列化垃圾回收事件完成后,均清空所述应用程序本地缓存。
[0008]可选地,所述自定义格式的网络数据包,包括4字节长度的数据包长度、2字节长度的应用程序编号、4字节长度的JDK版本、若干字节长度的垃圾回收动作名称的数据长度、若干字节长度的垃圾回收动作名称、1字节长度的垃圾回收类型、若干字节长度的触发垃圾回收的原因的数据长度、若干字节长度的处罚垃圾回收的原因、若干字节长度的各个内存区域垃圾回收前后剩余空间的数据长度、若干字节的各内存区域垃圾回收前后剩余空间、8字节的垃圾回收开始时间和8字节的垃圾回收结束时间。
[0009]可选地,所述方法还包括:定时从Github的OpenJDK官方仓库获取最新的TAG,并基于所述TAG更新所述JVM的内存区域名称,将当前源码版本与JVM内存区域名称关联。
[0010]可选地,所述基于所述网络数据包,获取所述JVM中各个应用程序的垃圾回收情况,包括:所述JVM性能分析器从所述网络数据包中读取垃圾回收情况,所述垃圾回收情况包括垃圾回收动作名称、垃圾回收类型、垃圾回收原因、垃圾回收开始时间和垃圾回收结束时间;所述JVM性能分析器基于所述JVM内存区域名称,获取各区域垃圾回收前后剩余空间;所述JVM性能分析器将所述垃圾回收情况和各区域垃圾回收前后剩余空间存储到Redis缓存中。
[0011]可选地,所述方法还包括:所述JVM性能分析器获取所述网络数据包中的应用程序编号;所述JVM性能分析器按照所述应用程序编号,将垃圾回收情况汇总,并发送到Web页面。
[0012]第二方面本申请实施例提供一种JVM性能监控系统,包括垃圾事件获取模块、分析模块、回收情况获取模块和风险预警模块;垃圾事件获取模块,用于周期性的获取所述JVM中发生的垃圾回收事件;分析模块,用于对所述垃圾回收事件进行分析,将所述垃圾回收事件序列化为自定义格式的网络数据包;回收情况获取模块,用于基于所述网络数据包,获取所述JVM中各个应用程序的垃圾回收情况;风险预警模块,用于基于所述垃圾回收情况,对所述JVM的安全风险进行预警。
[0013]第三方面本申请实施例提供一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行如
技术实现思路
第一方面所述的一种JVM性能监控方法。
[0014]第四方面本申请实施例提供一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如
技术实现思路
第一方面所述的一种JVM性能监控方法。
[0015]本专利技术实施例的技术方案至少具有如下优点和有益效果:在对JVM中发生的垃圾回收事件进行监控时,因为采用的是Java自带的垃圾回收事件监听器,所以并不需要向外提供接口,不会影响到生成环境的安全,具有更好的安全性能;且将获取到的垃圾回收事件序列化为网络数据包后,通过对网络数据包进行分析,能够获得更完善的资料供用户对JVM的运行风险进行预警和告警,从而达到提高JVM运行稳定性的效果。
附图说明
[0016]图1为本专利技术实施例提供的一种JVM性能监控方法的步骤流程图;图2为本专利技术实施例提供的一种JVM性能监控系统的结构框图。
具体实施方式
[0017]为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本专利技术实施例的组件可以以各种不同的配置来布置和设计。
[0018]实施例1本实施例提供一种JVM性能监控方法,参照图1,所述方法包括以下步骤:S101,采用Java提供的垃圾回收事件监听器,周期性的获取所述JVM中发生的垃圾回收事件;在Java中,不需要手动释放内存,JVM中的垃圾回收器会自动回收内存,所以会产生垃圾回收事件,通过对垃圾回收事件的监控,能够对JVM中的内存使用情况进行判断,从而对JVM的运行稳定性风险进行告警。
[0019]垃圾回收事件监听器是Java提供的,通过采用垃圾回收事件监听器,能够直接对JVM进行监控,在监控时,不需要JVM提供额外的接口,这于生产环境中保持JVM的安全性能具有较大的意义。
[0020]S102,对所述垃圾回收事件进行分析,将所述垃圾回收事件序列化为自定义格式的网络数据包。包括以下子步骤:S1021,构建JVM性能分析器;在本实施例中,JVM性能分析器采用Java语言构建,其在本实施例中的主要作用是对JVM的用用程序垃圾回收事件进行分析。
[0021]S1022,建立所述JVM性能分析器与所述垃本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种JVM性能监控方法,其特征在于,所述方法包括:采用Java提供的垃圾回收事件监听器,周期性的获取所述JVM中发生的垃圾回收事件;对所述垃圾回收事件进行分析,将所述垃圾回收事件序列化为自定义格式的网络数据包;基于所述网络数据包,获取所述JVM中各个应用程序的垃圾回收情况;基于所述垃圾回收情况,对所述JVM的安全风险进行预警。2.根据权利要求1所述的一种JVM性能监控方法,其特征在于,所述对所述垃圾回收事件进行分析,将所述垃圾回收事件序列化为自定义格式的网络数据包,包括:构建JVM性能分析器;建立所述JVM性能分析器与所述垃圾回收事件监听器之间的网络连接;周期性的迭代保存在所述应用程序本地缓存中的所述垃圾回收事件,并将其序列化为自定义格式的网络数据包;基于所述JVM性能分析器与所述垃圾回收事件监听器之间的网络连接,将所述网络数据包发送到所述JVM性能分析器。3.根据权利要求2所述的一种JVM性能监控方法,其特征在于:所述方法还包括,每在所述应用程序本地缓存中序列化垃圾回收事件完成后,均清空所述应用程序本地缓存。4.根据权利要求2所述的一种JVM性能监控方法,其特征在于:所述自定义格式的网络数据包,包括4字节长度的数据包长度、2字节长度的应用程序编号、4字节长度的JDK版本、若干字节长度的垃圾回收动作名称的数据长度、若干字节长度的垃圾回收动作名称、1字节长度的垃圾回收类型、若干字节长度的触发垃圾回收的原因的数据长度、若干字节长度的处罚垃圾回收的原因、若干字节长度的各个内存区域垃圾回收前后剩余空间的数据长度、若干字节的各内存区域垃圾回收前后剩余空间、8字节的垃圾回收开始时间和8字节的垃圾回收结束时间。5.根据权利要求4所述的一种JVM性能监控方法,其特征在于:所述方法还包括:定时从Github的OpenJDK官方仓库获取最新的TAG,并基...

【专利技术属性】
技术研发人员:干鹏宇
申请(专利权)人:中建电子商务有限责任公司
类型:发明
国别省市:

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

1