监控JVM老生代内存溢出的方法、系统、存储介质及设备技术方案

技术编号:37366246 阅读:28 留言:0更新日期:2023-04-27 07:13
本发明专利技术提供了一种监控JVM老生代内存溢出的方法、系统、存储介质及设备,方法包括:在JVM运行过程中,实时记录其内存回收日志中老生代内存的内存使用量;根据初始时期内记录的第一内存使用量得到每个时刻的内存平均使用量,以生成内存平均走势图,并将内存平均走势图记录至基线表中;将初始时期后记录的第二内存使用量与基线表中相同时刻的内存平均使用量进行对比,并判断当前内存走势偏差量是否大于预设偏差量;响应于当前内存走势偏差大于预设偏差量,推送预警报文,并基于预警报文排查JVM的运行系统是否出现内存溢出问题,得到排查结果。本发明专利技术实现了提前监控,避免了现有技术中内存溢出后才进行预警,使系统卡顿问题暴露给客户,造成信任缺失。造成信任缺失。造成信任缺失。

【技术实现步骤摘要】
监控JVM老生代内存溢出的方法、系统、存储介质及设备


[0001]本专利技术涉及计算机
,尤其涉及一种监控JVM老生代内存溢出的方法、系统、存储介质及设备。

技术介绍

[0002]业界一般采用两种方法监控JVM(Java Virtual Machine,Java虚拟机)内存溢出:
[0003]1)监控JAVA(一种计算机编程语言)应用程序的内存使用情况,当持续高于设定阈值时给出报警,但内存使用高不代表发生了溢出,因而存在一定的误报概率;
[0004]2)监控应用进程是否存在,如不存在,报警通知运维人员分析JVM运行日志,如日志中出现关键字java.lang.OutOfMemoryError,则发生了JVM内存溢出。
[0005]第一种方式误报概率太大,无法完成学习记忆行为,无法自我更新基准。第二种方式客户已经感知到系统卡顿后,才进行问题机器下线排查,无法做到事前就发现问题,解决问题。所以需要一种内存波动的提前预警和自我更新基准的方式,来保证系统的稳定性。

技术实现思路

[0006]有鉴于此,本专利技本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种监控JVM老生代内存溢出的方法,其特征在于,包括以下步骤:在JVM运行过程中,实时记录其内存回收日志中老生代内存的内存使用量;根据初始时期内记录的第一内存使用量得到每个时刻的内存平均使用量,以生成内存平均走势图,并将所述内存平均走势图记录至基线表中;将所述初始时期后记录的第二内存使用量与所述基线表中相同时刻的内存平均使用量进行对比,并判断当前内存走势偏差量是否大于预设偏差量;响应于所述当前内存走势偏差大于所述预设偏差量,推送预警报文,并基于所述预警报文排查所述JVM的运行系统是否出现内存溢出问题,得到排查结果。2.根据权利要求1所述的方法,其特征在于,根据初始时期内记录的第一内存使用量得到每个时刻的内存平均使用量,以生成内存平均走势图包括:对一周内记录的相同时刻的第一内存使用量进行求平均值计算,得到每个时刻的内存平均使用量;基于每个时刻值及对应的内存平均使用量生成内存平均走势图。3.根据权利要求2所述的方法,其特征在于,将所述初始时期后记录的第二内存使用量与所述基线表中相同时刻的内存平均使用量进行对比,并判断当前内存走势偏差量是否大于预设偏差量包括:将所述一周后记录的第二内存使用量与所述基线表中相同时刻的内存平均使用量进行对比,并判断当前内存走势面积与基线表中同时段内存走势面积的比例是否大于预设的默认阈值;响应于所述比例大于所述默认阈值,确定所述当前内存走势偏差量大于所述预设偏差量;响应于所述比例小于等于所述默认阈值,确定所述当前内存走势偏差量小于等于所述预设偏差量。4.根据权利要求1所述的方法,其特征在于,还包括:响应于所述排查结果为未出现所述内存溢出问题,对所述当前内存...

【专利技术属性】
技术研发人员:李畅
申请(专利权)人:浪潮通用软件有限公司
类型:发明
国别省市:

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

1