[发明专利]一种Java程序内存使用情况监控方法及装置在审
| 申请号: | 202110140616.9 | 申请日: | 2021-02-02 |
| 公开(公告)号: | CN112835765A | 公开(公告)日: | 2021-05-25 |
| 发明(设计)人: | 刘慕雨;王泽洋;黄镜澄;唐月标 | 申请(专利权)人: | 中国工商银行股份有限公司 |
| 主分类号: | G06F11/30 | 分类号: | G06F11/30;G06F9/50 |
| 代理公司: | 北京三友知识产权代理有限公司 11127 | 代理人: | 任默闻;孙乳笋 |
| 地址: | 100140 北*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 java 程序 内存 使用 情况 监控 方法 装置 | ||
本发明提供了一种Java程序内存使用情况监控方法及装置,可以应用于金融领域,方法包括:通过调用Java管理扩展接口实时获取Java内存中各区的指标数据,指标数据包括:内存使用量、内存使用最大值、垃圾回收次数和垃圾回收耗时;通过实时计算数据库对指标数据按照设定的时间单位进行聚合计算获得各区内存使用数据;根据各区内存使用数据与预设阀值的大小关系对各区内存使用情况进行实时预警。本申请提供的Java程序内存使用情况监控方法,对内存进行分区,然后针对每个分区,结合垃圾回收情况和内存占用情况对Java程序内存进行监控,实现了在不影响系统性能的情况下对内存进行精确监控的技术效果。
技术领域
本申请属于Java程序性能监控技术领域,具体地讲,涉及一种Java程序内存使用情况监控方法及装置。
背景技术
当前,Java虚拟机提供了一套垃圾回收机制,可以让Java开发者不必关心内存的分配和清理等工作。但是该套垃圾回收机制在实际运行中常常因为内存使用不当等原因使得Java虚拟机内存使用率不断升高,直到Java虚拟机内存溢出(OUT OF MEMORY,OOM)。Java虚拟机自身提供的内存监控工具,如JMAP、JSTACK、JPS等命令行工具,其原理都是当内存使用出问题时,通过远程连接到Java虚拟机进行通讯,这些内存监控工具的缺点在于:只适合在内存使用发生问题之后的排查阶段使用,不适合提前预警。而且,远程连接本身需要占用一定的系统资源,因此,不适合作为常规的监控工具。另外,当前针对Java内存的监控仅监控内存整体使用率数值,这样不易发现问题,因为Java虚拟机实际上将内存区分成了不同的区域,因此不能单纯依赖一个内存整体使用率数值来表征不同内存区域的情况。
发明内容
本申请提供了一种Java程序内存使用情况监控方法及装置,以至少解决现有的Java内存监控工具需要远程连接,而远程连接不仅占用系统资源而且只能对Java虚拟机的整体内存进行监控,无法实现监控精细化的问题。
根据本申请的一个方面,提供了一种Java程序内存使用情况监控方法,包括:
通过调用Java管理扩展接口实时获取Java内存中各区的指标数据,指标数据包括:内存使用量、内存使用最大值、垃圾回收次数和垃圾回收耗时;
通过实时计算数据库对指标数据按照设定的时间单位进行聚合计算获得各区内存使用数据;
根据各区内存使用数据与预设阀值的大小关系对各区内存使用情况进行实时预警。
在一实施例中,Java程序内存使用情况监控方法还包括:
根据Java内存中垃圾回收算法的类型对Java内存进行分区处理。
在一实施例中,当指标数据为内存使用量时,通过实时计算数据库对指标数据按照设定的时间单位进行聚合计算获得各区内存使用数据,包括:
获取预设时间段内每一时刻的内存使用量;
根据内存使用量计算预设时间段内的内存平均使用量。
在一实施例中,当指标数据为内存使用最大值时,通过实时计算数据库对指标数据按照设定的时间单位进行聚合计算获得各区内存使用数据,包括:
获取各时段的内存使用最大值;
通过比较各时段的内存使用最大值确定内存最大瞬时使用值。
在一实施例中,当指标数据为垃圾回收次数时,通过实时计算数据库对指标数据按照设定的时间单位进行聚合计算获得各区内存使用数据,包括:
获取预设时间段内的垃圾回收次数;
根据垃圾回收次数确定预设时间段内的垃圾回收频率。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国工商银行股份有限公司,未经中国工商银行股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110140616.9/2.html,转载请声明来源钻瓜专利网。





