异常文件定位方法、装置、电子设备及存储介质制造方法及图纸

技术编号:35075484 阅读:16 留言:0更新日期:2022-09-28 11:40
本公开关于一种异常文件定位方法、装置、电子设备及存储介质,所述方法包括:在服务器的计算资源使用率超过使用率阈值的情况下,从数据库中获取所述服务器上当前运行的服务在预设时间段内的方法栈信息;根据所述方法栈信息,确定多个候选方法及各个候选方法各自对应的使用线程数目;所述候选方法表示各个线程在所述预设时间段内正在执行的方法,所述使用线程数目表示在所述预设时间段内执行任一候选方法的线程的总数目;基于所述使用线程数目,从所述多个候选方法中确定出导致所述计算资源使用率超过所述使用率阈值的目标方法,将所述目标方法对应的运行文件确定为异常文件。该方法可实现对目标方法的定量确定,提高所确定的异常文件的准确性。的异常文件的准确性。的异常文件的准确性。

【技术实现步骤摘要】
异常文件定位方法、装置、电子设备及存储介质


[0001]本公开涉及计算机
,尤其涉及一种异常文件定位方法、装置、电子设备、存储介质及程序产品。

技术介绍

[0002]代码在运行时会消耗CPU(central processing unit,中央处理器)。在平时的工作中,发现线上服务哪个方法占用的CPU最多,是定位服务性能问题的一个非常重要的工作,比如当发现线上的CPU消耗非常多,需要查看是哪段代码导致的时,就需要能够找到哪个方法消耗的CPU最多。
[0003]目前,定位消耗CPU最多的方法的技术方案一般是开发者登录到服务器上,去执行一些诊断命令,然后通过诊断工具输出的图形,人工查看哪个方法占用的图形更宽,从而确定哪个方法消耗的CPU最多,进而确定异常文件。
[0004]然而,现有的方法完全依赖于人员的经验,定位消耗CPU最多的方法的定位结果往往准确度较低。

技术实现思路

[0005]本公开提供一种异常文件定位方法、装置、电子设备、存储介质及程序产品,以至少解决相关技术中定位消耗CPU最多的方法的定位结果准确度较低的问题。本公开的技术方案如下:
[0006]根据本公开实施例的第一方面,提供一种异常文件定位方法,包括:
[0007]在服务器的计算资源使用率超过使用率阈值的情况下,从数据库中获取所述服务器上当前运行的服务在预设时间段内的方法栈信息;所述方法栈信息中包括用于运行所述服务的线程和各个线程所调用的方法;
[0008]根据所述方法栈信息,确定多个候选方法及所述多个候选方法各自对应的使用线程数目;所述候选方法表示各个线程在所述预设时间段内正在执行的方法,所述使用线程数目表示在所述预设时间段内执行任一候选方法的线程的总数目;
[0009]基于所述使用线程数目,从所述多个候选方法中确定出导致所述计算资源使用率超过所述使用率阈值的目标方法,将所述目标方法对应的运行文件确定为异常文件。
[0010]在一示例性实施例中,所述根据所述方法栈信息,确定多个候选方法及所述多个候选方法各自对应的使用线程数目,包括:
[0011]根据所述方法栈信息,确定运行所述服务的各个线程对应的线程栈;所述线程栈中包括从运行所述服务的开始时刻到所述预设时间段的终止时刻内所述线程所调用过的方法;
[0012]针对每个线程,从所述线程对应的线程栈所包括的方法中,确定出所述线程对应的候选方法;
[0013]分别确定所述预设时间段内执行各个候选方法的线程的总数目,作为各个候选方
法对应的使用线程数目。
[0014]在一示例性实施例中,所述从所述线程对应的线程栈所包括的方法中,确定出所述线程对应的候选方法,包括:
[0015]获取所述线程栈所包括的方法对应的调用时间;
[0016]从所述线程栈所包括的方法中,确定出调用时间最晚的方法,作为所述线程对应的候选方法。
[0017]在一示例性实施例中,所述基于所述使用线程数目,从所述多个候选方法中确定出导致所述计算资源使用率超过所述使用率阈值的目标方法,包括:
[0018]将所述多个候选方法按照所述使用线程数目进行排序,得到候选方法序列;
[0019]从所述候选方法序列中确定出目标方法;所述目标方法对应的使用线程数目大于其他候选方法对应的使用线程数目,所述其他候选方法表示所述多个候选方法中除所述目标方法之外的方法。
[0020]在一示例性实施例中,在从数据库中获取所述服务器上当前运行的服务在预设时间段内的方法栈信息之前,还包括:
[0021]按照预设采集频率,采集所述服务器上当前运行的服务的方法栈信息;所述采集频率表示单位时间内采集方法栈信息的次数;
[0022]将所述方法栈信息存储至数据库中。
[0023]在一示例性实施例中,在将所述方法栈信息存储至数据库中之前,还包括:
[0024]对所述单位时间内所采集的方法栈信息中,同一候选方法对应的使用线程进行数目统计处理,得到统计方法栈信息;
[0025]所述将所述方法栈信息存储至数据库中,包括:
[0026]将所述统计方法栈信息存储至所述数据库中。
[0027]在一示例性实施例中,在基于所述使用线程数目,从所述多个候选方法中确定出导致所述计算资源使用率超过阈值的目标方法之后,还包括:
[0028]生成针对所述目标方法的提示信息;
[0029]发送所述提示信息至用户终端,使所述用户终端对所述目标方法对应的运行文件进行优化。
[0030]根据本公开实施例的第二方面,提供一种异常文件定位装置,包括:
[0031]获取单元,被配置为执行在服务器的计算资源使用率超过使用率阈值的情况下,从数据库中获取所述服务器上当前运行的服务在预设时间段内的方法栈信息;所述方法栈信息中包括用于运行所述服务的线程和各个线程所调用的方法;
[0032]确定单元,被配置为执行根据所述方法栈信息,确定多个候选方法及所述多个候选方法各自对应的使用线程数目;所述候选方法表示各个线程在所述预设时间段内正在执行的方法,所述使用线程数目表示在所述预设时间段内执行任一候选方法的线程的总数目;
[0033]定位单元,被配置为执行基于所述使用线程数目,从所述多个候选方法中确定出导致所述计算资源使用率超过所述使用率阈值的目标方法,将所述目标方法对应的运行文件确定为异常文件。
[0034]在一示例性实施例中,所述确定单元,还被配置为执行根据所述方法栈信息,确定
运行所述服务的各个线程对应的线程栈;所述线程栈中包括从运行所述服务的开始时刻到所述预设时间段的终止时刻内所述线程所调用过的方法;针对每个线程,从所述线程对应的线程栈所包括的方法中,确定出所述线程对应的候选方法;分别确定所述预设时间段内执行各个候选方法的线程的总数目,作为各个候选方法对应的使用线程数目。
[0035]在一示例性实施例中,所述确定单元,还被配置为执行获取所述线程栈所包括的方法对应的调用时间;从所述线程栈所包括的方法中,确定出调用时间最晚的方法,作为所述线程对应的候选方法。
[0036]在一示例性实施例中,所述定位单元,还被配置为执行将所述多个候选方法按照所述使用线程数目进行排序,得到候选方法序列;从所述候选方法序列中确定出目标方法;所述目标方法对应的使用线程数目大于其他候选方法对应的使用线程数目,所述其他候选方法表示所述多个候选方法中除所述目标方法之外的方法。
[0037]在一示例性实施例中,所述装置还包括:
[0038]采集单元,被配置为执行按照预设采集频率,采集所述服务器上当前运行的服务的方法栈信息;所述采集频率表示单位时间内采集方法栈信息的次数;
[0039]存储单元,被配置为执行将所述方法栈信息存储至数据库中。
[0040]在一示例性实施例中,所述装置还包括统计单元,被配置为执行对所述单位时间内所采集的方法栈信息中,同一候选方法对应的使用线程进行数目统本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种异常文件定位方法,其特征在于,包括:在服务器的计算资源使用率超过使用率阈值的情况下,从数据库中获取所述服务器上当前运行的服务在预设时间段内的方法栈信息;所述方法栈信息中包括用于运行所述服务的线程和各个线程所调用的方法;根据所述方法栈信息,确定多个候选方法及所述多个候选方法各自对应的使用线程数目;所述候选方法表示各个线程在所述预设时间段内正在执行的方法,所述使用线程数目表示在所述预设时间段内执行任一候选方法的线程的总数目;基于所述使用线程数目,从所述多个候选方法中确定出导致所述计算资源使用率超过所述使用率阈值的目标方法,将所述目标方法对应的运行文件确定为异常文件。2.根据权利要求1所述的方法,其特征在于,所述根据所述方法栈信息,确定多个候选方法及所述多个候选方法各自对应的使用线程数目,包括:根据所述方法栈信息,确定运行所述服务的各个线程对应的线程栈;所述线程栈中包括从运行所述服务的开始时刻到所述预设时间段的终止时刻内所述线程所调用过的方法;针对每个线程,从所述线程对应的线程栈所包括的方法中,确定出所述线程对应的候选方法;分别确定所述预设时间段内执行各个候选方法的线程的总数目,作为各个候选方法对应的使用线程数目。3.根据权利要求2所述的方法,其特征在于,所述从所述线程对应的线程栈所包括的方法中,确定出所述线程对应的候选方法,包括:获取所述线程栈所包括的方法对应的调用时间;从所述线程栈所包括的方法中,确定出调用时间最晚的方法,作为所述线程对应的候选方法。4.根据权利要求1所述的方法,其特征在于,所述基于所述使用线程数目,从所述多个候选方法中确定出导致所述计算资源使用率超过所述使用率阈值的目标方法,包括:将所述多个候选方法按照所述使用线程数目进行排序,得到候选方法序列;从所述候选方法序列中确定出目标方法;所述目标方法对应的使用线程数目大于其他候选方法对应的使用线程数目,所述其他候选方法表示所述多个候选方法中除所述目标方法之外的方法。5.根据权利要求1所述的方法,其...

【专利技术属性】
技术研发人员:刘正阳
申请(专利权)人:北京达佳互联信息技术有限公司
类型:发明
国别省市:

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

1