内存泄漏的检测方法、电子设备、存储介质及系统技术方案

技术编号:33129173 阅读:12 留言:0更新日期:2022-04-17 00:43
本发明专利技术涉及计算机网络技术领域,具体涉及内存泄露的检测方法、电子设备、存储介质及电子设备,该方法包括通过目标端口接收辅助设备发送的目标报文;将所述目标报文与对应的基准报文进行比较;当所述目标报文发生改变时,将所述目标端口移出链路聚合组;触发所述目标端口重新加入所述链路聚合组,并获取所述待测设备的当前内存使用量;基于所述当前内存使用量与所述待测设备的初始内存使用量的大小关系,确定所述待测设备的内存泄露状态。通过持续模拟发送协议报文的方式,造成毫秒级的LAG成员端口变化,或者LAG状态变化,可以满足超大数量级的测试要求,提高了内存泄露的测试效率。提高了内存泄露的测试效率。提高了内存泄露的测试效率。

【技术实现步骤摘要】
内存泄漏的检测方法、电子设备、存储介质及系统


[0001]本专利技术涉及计算机网络领域,具体涉及内存泄漏的检测方法、电子设备、存储介质及系统。

技术介绍

[0002]随着计算机网络的发展,实现了信息和数据的快速传输,然而,伴随着计算机网络的发展,也存在着一些问题。链路聚合的示例性协议是链路聚合控制协议(Link Aggregation Control Protocol,简称为LACP),LACP允许网络装置通过向网络对等体发送LACP数据包来协商链路的自动捆绑。
[0003]实际应用中,由于可能的网线质量,链路质量,干扰等一些因素的影响,实际使用过程中端口可能会无故接入、离开,导致链路聚合组(Link Aggregation Group,LAG)成员端口变化,甚至LAG状态变化,进而导致出现内存泄漏等问题
[0004]现有技术下,为了测试是否出现内存泄漏的问题,人为插拔网线、光模块,或者使用命令行触发方式造成LAG成员端口变化,但是人工操作效率有限,不满足超大数量级的测试要求。具体地,内存泄漏问题一般需要超大数量级的测试积累才能明显观察到问题。常规测试过程中人为插拔网线、光模块,这种基本不可能完成数万次,甚至百万次以上的操作。而使用交换机提供的命令行触发方式也基本是秒级的操作速度,要执行百万次以上的操作,也需要好几天甚至更长的时间,导致内存泄露检测的效率较低。

技术实现思路

[0005]有鉴于此,本专利技术实施例提供了一种内存泄露的检测方法、电子设备、存储介质及系统,以解决内存泄露检测的效率较低的问题。
[0006]根据第一方面,本专利技术实施例提供了一种内存泄漏的检测方法,应用于待测设备,所述方法包括:
[0007]通过目标端口接收辅助设备发送的目标报文;
[0008]将所述目标报文与对应的基准报文进行比较;
[0009]当所述目标报文发生改变时,将所述目标端口移出链路聚合组;
[0010]触发所述目标端口重新加入所述链路聚合组,并获取所述待测设备的当前内存使用量;
[0011]基于所述当前内存使用量与所述待测设备的初始内存使用量的大小关系,确定所述待测设备的内存泄露状态。
[0012]本专利技术实施例提供的内存泄露的检测方法,通过持续模拟发送协议报文的方式,造成毫秒级的LAG成员端口变化,或者LAG状态变化。该方法改进了传统插拔网线、光模块,或者使用命令行修改等秒级触发方式效率低下的问题,可以满足超大数量级的测试要求,提高了内存泄露的测试效率。
[0013]结合第一方面,在第一方面第一实施方式中,所述将所述目标报文与对应的基准
报文进行比较,包括:
[0014]提取所述目标报文的LAG ID字段;
[0015]将提取出的所述LAG ID字段与所述基准报文的LAG ID字段进行比较。
[0016]本专利技术实施例提供的内存泄露的检测方法,当链路两端协商一致后,如果从对端端口收到的LACP报文,发现LAG ID发生了改变(系统ID或操作KEY发生了变化,系统ID改变说明连接到的对端设备发生了变化,操作KEY发生了变化可能是对端端口的属性发生了变化),这时端口会离开这个汇聚组,基于该方式造成毫秒级的LAG成员端口变化,或者LAG状态变化,简单易行。
[0017]结合第一方面,在第一方面第二实施方式中,所述触发所述目标端口重新加入所述链路聚合组,包括:
[0018]向与所述辅助设备发送LACP协商数据包,以与所述辅助设备进行LACP协商;
[0019]当协商成功时,将所述目标端口重新加入所述链路聚合组。
[0020]结合第一方面,在第一方面第三实施方式中,所述基于所述当前内存使用量与所述待测设备的初始内存使用量的大小关系,确定所述待测设备的内存泄露状态,包括:
[0021]将所述当前内存使用量与所述初始内存使用量进行比较;
[0022]当比较结果异常时,确定所述待测设备存在内存泄露。
[0023]结合第一方面,在第一方面第四实施方式中,所述方法还包括:
[0024]通过所述目标端口接收预设数量的注入数据;
[0025]当所述目标报文发生改变时,删除所述注入数据;
[0026]当所述目标端口重新加入所述链路聚合组时,恢复所述注入数据;
[0027]基于所述待测设备中注入数据的大小,确定所述待测设备的内存泄露状态。
[0028]本专利技术实施例提供的内存泄露的检测方法,通过向目标端口注入大量的注入数据,通过注入数据的添加删除是否异常,确定是否引起内存泄露,也可以满足超大数量级的测试要求。
[0029]根据第二方面,本专利技术实施例还提供了一种内存泄露的检测方法,应用于辅助设备,所述方法包括:
[0030]抓取原始报文,并对所述原始报文进行修改得到目标报文;
[0031]将所述目标报文发送至待测设备的目标端口,以使得所述待测设备执行本专利技术第一方面,或第一方面中任一项所述的内存泄露的检测方法确定所述待测设备的内存泄露状态。
[0032]本专利技术实施例提供的内存泄露的检测方法,通过持续模拟发送协议报文的方式,造成毫秒级的LAG成员端口变化,或者LAG状态变化。该方法改进了传统插拔网线、光模块,或者使用命令行修改等秒级触发方式效率低下的问题,可以满足超大数量级的测试要求,提高了内存泄露的测试效率。
[0033]结合第二方面,在第二方面第一实施方式中,所述对所述原始报文进行修改得到目标报文,包括:
[0034]修改所述原始报文的LAG ID字段,确定所述目标报文。
[0035]根据第三方面,本专利技术实施例还提供了一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个
处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器执行本专利技术第一方面,或第一方面任一实施方式,或者,本专利技术第二方面,或第二方面任一实施方式中所述的内存泄露的检测方法。
[0036]根据第四方面,本专利技术实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现本专利技术第一方面,或第一方面任一实施方式,或者,本专利技术第二方面,或第二方面任一实施方式中所述的内存泄露的检测方法。
[0037]根据第五方面,本专利技术实施例还提供了一种内存泄露的检测系统,包括:
[0038]辅助设备,用于执行第二方面任一实施方式中所述的内存泄露的检测方法;
[0039]待测设备,与所述辅助设备连接,用于执行本专利技术第一方面,或第一方面任一实施方式所述的内存泄露的检测方法。
[0040]需要说明的是,本专利技术实施例提供的电子设备以及计算机可读存储介质的有益效果,请参见上文中关于内存泄露的检测方法的有益效果的相关描述,在此不再赘述。
附图说明
[0041]为了更清楚地说明本专利技术具体实施方式或现有技术中的技术方案,下面将对本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种内存泄漏的检测方法,其特征在于,应用于待测设备,所述方法包括:通过目标端口接收辅助设备发送的目标报文;将所述目标报文与对应的基准报文进行比较;当所述目标报文发生改变时,将所述目标端口移出链路聚合组;触发所述目标端口重新加入所述链路聚合组,并获取所述待测设备的当前内存使用量;基于所述当前内存使用量与所述待测设备的初始内存使用量的大小关系,确定所述待测设备的内存泄露状态。2.根据权利要求1所述的方法,其特征在于,所述将所述目标报文与对应的基准报文进行比较,包括:提取所述目标报文的LAG ID字段;将提取出的所述LAG ID字段与所述基准报文的LAG ID字段进行比较。3.根据权利要求1所述的方法,其特征在于,所述触发所述目标端口重新加入所述链路聚合组,包括:向与所述辅助设备发送LACP协商数据包,以与所述辅助设备进行LACP协商;当协商成功时,将所述目标端口重新加入所述链路聚合组。4.根据权利要求1所述的方法,其特征在于,所述基于所述当前内存使用量与所述待测设备的初始内存使用量的大小关系,确定所述待测设备的内存泄露状态,包括:将所述当前内存使用量与所述初始内存使用量进行比较;当比较结果异常时,确定所述待测设备存在内存泄露。5.根据权利要求1所述的方法,其特征在于,所述方法还包括:通过所述目标端口接收预设数量的注入数据;当所述目标报文发生改变时,删除所述注入数据;当所述目标端口重新加入所述链路聚合组时,恢复所述注入数据;基于所述待测设备中注入数据的大小,确...

【专利技术属性】
技术研发人员:赵欣袁福利
申请(专利权)人:苏州浪潮智能科技有限公司
类型:发明
国别省市:

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

1