[发明专利]JVM线程监控方法、装置及电子设备在审
| 申请号: | 202110027887.3 | 申请日: | 2021-01-08 |
| 公开(公告)号: | CN112732405A | 公开(公告)日: | 2021-04-30 |
| 发明(设计)人: | 肖凯;谭吉湘;杨陆;王晓宇 | 申请(专利权)人: | 北京数衍科技有限公司 |
| 主分类号: | G06F9/455 | 分类号: | G06F9/455;G06F11/30;G06F11/32 |
| 代理公司: | 北京超凡宏宇专利代理事务所(特殊普通合伙) 11463 | 代理人: | 荣颖佳 |
| 地址: | 100000 北京市朝*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | jvm 线程 监控 方法 装置 电子设备 | ||
本发明提供了JVM线程监控方法、装置及电子设备。其中,该方法包括:获取JVM日志;对JVM日志进行解析处理,得到JVM中线程的运行信息;其中,运行信息包括以下至少之一:线程状态信息、内存使用信息和方法执行信息;判断运行信息是否与对应的预设告警规则相匹配;其中,预设告警规则包括以下至少之一:线程数量阈值、内存使用阈值和方法执行响应时间阈值;如果是,则生成运行信息对应的告警信息,以进行告警提示;从而通过预设告警规则,实现对JVM中线程的运行信息的监控,并当发生故障时通过告警信息进行告警,与现有的人工排查方法相比,提高了线程故障排查的效率和精度。
技术领域
本发明涉及计算机技术领域,尤其是涉及JVM线程监控方法、装置及电子设备。
背景技术
当前,在众多互联网公司中,很多系统在服务器(或云服务器)上运行,当系统开发到一定阶段,线上的服务器(或云服务器)越来越多,此时,除了需要监控服务器之外,还需对业务方面进行监控。由于很多业务系统采用Java语言开发,JVM(Java Virtual Machine)是Java平台的一部分,因此,JVM能够运行采用Java语言编写的软件程序。
在实际应用中,很多Java程序采用多线程的方式来处理大量的并发请求,但是多线程执行的程序往往会出现一些问题,比如出现线程阻塞或者锁死的现象,从而导致运行的Java程序效率低下甚至出现不可用的现象。针对上述多线程执行时出现的问题,现有方法主要通过人工方法逐个排查运行的多线程,该方法虽然可以排查到发生故障的线程,但耗时较长,降低了排查效率和精度,不能满足实际应用需求。
发明内容
有鉴于此,本发明的目的在于提供JVM线程监控方法、装置及电子设备,以缓解上述问题,提高了线程故障排查的效率和精度。
第一方面,本发明实施例提供了一种JVM线程监控方法,应用于配置有JVM的服务器,该方法包括:获取JVM日志;对JVM日志进行解析处理,得到JVM中线程的运行信息;其中,运行信息包括以下至少之一:线程状态信息、内存使用信息和方法执行信息;判断运行信息是否与对应的预设告警规则相匹配;其中,预设告警规则包括以下至少之一:线程数量阈值、内存使用阈值和方法执行响应时间阈值;如果是,则生成运行信息对应的告警信息,以进行告警提示;其中,告警信息包括故障类型信息和/或故障位置信息。
结合第一方面,本发明实施例提供了第一方面的第一种可能的实施方式,其中,线程状态信息包括运行状态和非运行状态,上述判断运行信息是否与对应的预设告警规则相匹配的步骤,包括:根据每个线程的线程状态信息,计算得到JVM中运行线程数量;判断运行线程数量是否大于或等于线程数量阈值;如果是,则确定运行信息与对应的预设告警规则相匹配。
结合第一方面,本发明实施例提供了第一方面的第二种可能的实施方式,其中,每个线程配置有时间片,上述判断运行信息是否与对应的预设告警规则相匹配的步骤,包括:判断当前时间片对应的内存使用信息是否大于或等于内存使用阈值;如果是,则确定当前时间片的运行信息与对应的预设告警规则相匹配。
结合第一方面,本发明实施例提供了第一方面的第三种可能的实施方式,其中,上述判断运行信息是否与对应的预设告警规则相匹配的步骤,包括:基于方法执行信息确定线程对应方法的方法执行响应时间;判断方法执行响应时间是否大于或等于方法执行响应时间阈值;如果是,则确定运行信息与对应的预设告警规则相匹配。
结合第一方面,本发明实施例提供了第一方面的第四种可能的实施方式,其中,上述获取JVM日志的步骤,包括:实时获取JVM日志;或者,按照预设时间间隔获取JVM日志。
结合第一方面,本发明实施例提供了第一方面的第五种可能的实施方式,其中,上述判断运行信息是否与对应的预设告警规则相匹配的步骤之前,该方法还包括:对运行信息进行过滤处理,得到处理后的运行信息;和/或,对运行信息进行清洗处理,得到处理后的运行信息。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京数衍科技有限公司,未经北京数衍科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110027887.3/2.html,转载请声明来源钻瓜专利网。





