CN114356630B - 内存泄漏的检测方法、电子设备、存储介质及系统 - Google Patents
内存泄漏的检测方法、电子设备、存储介质及系统 Download PDFInfo
- Publication number
- CN114356630B CN114356630B CN202111636778.8A CN202111636778A CN114356630B CN 114356630 B CN114356630 B CN 114356630B CN 202111636778 A CN202111636778 A CN 202111636778A CN 114356630 B CN114356630 B CN 114356630B
- Authority
- CN
- China
- Prior art keywords
- memory
- message
- target
- tested
- equipment
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 230000015654 memory Effects 0.000 title claims abstract description 173
- 238000001514 detection method Methods 0.000 title claims description 24
- 238000000034 method Methods 0.000 claims abstract description 66
- 238000004220 aggregation Methods 0.000 claims abstract description 49
- 230000002776 aggregation Effects 0.000 claims abstract description 48
- 238000012360 testing method Methods 0.000 claims abstract description 42
- 238000002347 injection Methods 0.000 claims description 10
- 239000007924 injection Substances 0.000 claims description 10
- 230000002159 abnormal effect Effects 0.000 claims description 8
- 238000004590 computer program Methods 0.000 claims description 4
- 230000008859 change Effects 0.000 abstract description 26
- 238000004891 communication Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 9
- 238000012217 deletion Methods 0.000 description 8
- 230000037430 deletion Effects 0.000 description 8
- 238000012986 modification Methods 0.000 description 7
- 230000004048 modification Effects 0.000 description 7
- 230000003287 optical effect Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 5
- 230000010355 oscillation Effects 0.000 description 4
- 239000000243 solution Substances 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000009825 accumulation Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000009514 concussion Effects 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/50—Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及计算机网络技术领域,具体涉及内存泄漏的检测方法、电子设备、存储介质及电子设备,该方法包括通过目标端口接收辅助设备发送的目标报文;将所述目标报文与对应的基准报文进行比较;当所述目标报文发生改变时,将所述目标端口移出链路聚合组;触发所述目标端口重新加入所述链路聚合组,并获取所述待测设备的当前内存使用量;基于所述当前内存使用量与所述待测设备的初始内存使用量的大小关系,确定所述待测设备的内存泄漏状态。通过持续模拟发送协议报文的方式,造成毫秒级的LAG成员端口变化,或者LAG状态变化,可以满足超大数量级的测试要求,提高了内存泄漏的测试效率。
Description
技术领域
本发明涉及计算机网络领域,具体涉及内存泄漏的检测方法、电子设备、存储介质及系统。
背景技术
随着计算机网络的发展,实现了信息和数据的快速传输,然而,伴随着计算机网络的发展,也存在着一些问题。链路聚合的示例性协议是链路聚合控制协议(LinkAggregation Control Protocol,简称为LACP),LACP允许网络装置通过向网络对等体发送LACP数据包来协商链路的自动捆绑。
实际应用中,由于可能的网线质量,链路质量,干扰等一些因素的影响,实际使用过程中端口可能会无故接入、离开,导致链路聚合组(Link Aggregation Group,LAG)成员端口变化,甚至LAG状态变化,进而导致出现内存泄漏等问题
现有技术下,为了测试是否出现内存泄漏的问题,人为插拔网线、光模块,或者使用命令行触发方式造成LAG成员端口变化,但是人工操作效率有限,不满足超大数量级的测试要求。具体地,内存泄漏问题一般需要超大数量级的测试积累才能明显观察到问题。常规测试过程中人为插拔网线、光模块,这种基本不可能完成数万次,甚至百万次以上的操作。而使用交换机提供的命令行触发方式也基本是秒级的操作速度,要执行百万次以上的操作,也需要好几天甚至更长的时间,导致内存泄露检测的效率较低。
发明内容
有鉴于此,本发明实施例提供了一种内存泄露的检测方法、电子设备、存储介质及系统,以解决内存泄露检测的效率较低的问题。
根据第一方面,本发明实施例提供了一种内存泄漏的检测方法,应用于待测设备,所述方法包括:
通过目标端口接收辅助设备发送的目标报文;
将所述目标报文与对应的基准报文进行比较;
当所述目标报文发生改变时,将所述目标端口移出链路聚合组;
触发所述目标端口重新加入所述链路聚合组,并获取所述待测设备的当前内存使用量;
基于所述当前内存使用量与所述待测设备的初始内存使用量的大小关系,确定所述待测设备的内存泄露状态。
本发明实施例提供的内存泄露的检测方法,通过持续模拟发送协议报文的方式,造成毫秒级的LAG成员端口变化,或者LAG状态变化。该方法改进了传统插拔网线、光模块,或者使用命令行修改等秒级触发方式效率低下的问题,可以满足超大数量级的测试要求,提高了内存泄露的测试效率。
结合第一方面,在第一方面第一实施方式中,所述将所述目标报文与对应的基准报文进行比较,包括:
提取所述目标报文的LAG ID字段;
将提取出的所述LAG ID字段与所述基准报文的LAG ID字段进行比较。
本发明实施例提供的内存泄露的检测方法,当链路两端协商一致后,如果从对端端口收到的LACP报文,发现LAG ID发生了改变(系统ID或操作KEY发生了变化,系统ID改变说明连接到的对端设备发生了变化,操作KEY发生了变化可能是对端端口的属性发生了变化),这时端口会离开这个汇聚组,基于该方式造成毫秒级的LAG成员端口变化,或者LAG状态变化,简单易行。
结合第一方面,在第一方面第二实施方式中,所述触发所述目标端口重新加入所述链路聚合组,包括:
向与所述辅助设备发送LACP协商数据包,以与所述辅助设备进行LACP协商;
当协商成功时,将所述目标端口重新加入所述链路聚合组。
结合第一方面,在第一方面第三实施方式中,所述基于所述当前内存使用量与所述待测设备的初始内存使用量的大小关系,确定所述待测设备的内存泄露状态,包括:
将所述当前内存使用量与所述初始内存使用量进行比较;
当比较结果异常时,确定所述待测设备存在内存泄露。
结合第一方面,在第一方面第四实施方式中,所述方法还包括:
通过所述目标端口接收预设数量的注入数据;
当所述目标报文发生改变时,删除所述注入数据;
当所述目标端口重新加入所述链路聚合组时,恢复所述注入数据;
基于所述待测设备中注入数据的大小,确定所述待测设备的内存泄露状态。
本发明实施例提供的内存泄露的检测方法,通过向目标端口注入大量的注入数据,通过注入数据的添加删除是否异常,确定是否引起内存泄露,也可以满足超大数量级的测试要求。
根据第二方面,本发明实施例还提供了一种内存泄露的检测方法,应用于辅助设备,所述方法包括:
抓取原始报文,并对所述原始报文进行修改得到目标报文;
将所述目标报文发送至待测设备的目标端口,以使得所述待测设备执行本发明第一方面,或第一方面中任一项所述的内存泄露的检测方法确定所述待测设备的内存泄露状态。
本发明实施例提供的内存泄露的检测方法,通过持续模拟发送协议报文的方式,造成毫秒级的LAG成员端口变化,或者LAG状态变化。该方法改进了传统插拔网线、光模块,或者使用命令行修改等秒级触发方式效率低下的问题,可以满足超大数量级的测试要求,提高了内存泄露的测试效率。
结合第二方面,在第二方面第一实施方式中,所述对所述原始报文进行修改得到目标报文,包括:
修改所述原始报文的LAG ID字段,确定所述目标报文。
根据第三方面,本发明实施例还提供了一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器执行本发明第一方面,或第一方面任一实施方式,或者,本发明第二方面,或第二方面任一实施方式中所述的内存泄露的检测方法。
根据第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现本发明第一方面,或第一方面任一实施方式,或者,本发明第二方面,或第二方面任一实施方式中所述的内存泄露的检测方法。
根据第五方面,本发明实施例还提供了一种内存泄露的检测系统,包括:
辅助设备,用于执行第二方面任一实施方式中所述的内存泄露的检测方法;
待测设备,与所述辅助设备连接,用于执行本发明第一方面,或第一方面任一实施方式所述的内存泄露的检测方法。
需要说明的是,本发明实施例提供的电子设备以及计算机可读存储介质的有益效果,请参见上文中关于内存泄露的检测方法的有益效果的相关描述,在此不再赘述。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例的内存泄露的检测系统的结构示意图;
图2是根据本发明实施例的内存泄露的检测方法的流程图;
图3是根据本发明实施例的内存泄露的检测方法的流程图;
图4是根据本发明实施例的内存泄露的检测方法的流程图;
图5是根据本发明实施例的内存泄露的检测方法的流程图;
图6是根据本发明实施例的内存泄露的检测装置的结构框图;
图7是根据本发明实施例的内存泄露的检测装置的结构框图;
图8是本发明实施例提供的电子设备的硬件结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
基于IEEE802.3ad标准的LACP是一种实现链路动态汇聚与解汇聚的协议。LACP协议通过链路汇聚控制协议数据单元(Link Aggregation Control Protocol Data Unit,简称为LACPDU)与对端交互信息。在使能某端口的LACP协议后,该端口将通过发送LACPDU向对端通告自己的系统优先级、系统MAC、端口优先级、端口号和操作Key。对端接收到这些信息后,将这些信息与其它端口所保存的信息比较以选择能够汇聚的端口,从而双方可以对端口加入或退出某个动态汇聚组达成一致。
当链路两端协商一致后,如果从对端端口收到的LACP报文,发现LAG ID发生了改变(系统ID或操作KEY发生了变化,系统ID改变说明连接到的对端设备发生了变化,操作KEY发生了变化可能是对端端口的属性发生了变化),这时端口会离开这个汇聚组。
利用上述链路中的LACP协议特性,当链路LACP协商成功后,通过抓包可以方便的构建出一个只有LAG ID变化的LACP报文,通过另一任务将修改后的报文发送给对端就会造成对端端口离开汇聚组,对端LAG出现成员端口删减。而此时链路两端重新开始协商,由于链路状态和配置都没有改变,链路会很快重新协商成功,对端LAG成员端口又可以很快添加回来。这样通过发送一个LAG ID变化的LACP报文,就实现了毫秒级的LAG成员端口删除和添加。
当LAG只有一个成员端口时,该唯一成员端口的离开,会导致该LAG状态由UP到DOWN状态的改变。所以构建一个成员端口的LAG环境时,通过发送一个LAG ID变化的LACP报文,也可以实现毫秒级的LAG状态变化。
在上面两种场景下,都通过周期性的发送LAG ID变化的LACP报文,就可以实现短时间内超大数量级的LACP协议链路聚合震荡测试,从而实现内存泄露的检测。
本发明实施例提供了一种内存泄露的检测系统,如图1所示,包括待测设备10与辅助设备20。待测设备10可以为待测服务器,也可以为其他电子设备;辅助设备20只要支持链路聚合以及自定义发包即可,例如,测试仪、PC、服务器等等。
辅助设备20通过抓包程序抓取到原始报文,再对原始报文进行修改得到目标报文,将目标报文发送至待测设备10中。待测设备10通过目标端口接收该目标报文,并将目标报文与基准报文进行比较,确定是否发生改变。当发生改变时,将目标端口移除链路聚合组;并在此与辅助设备进行协商,将目标端口重新加入链路聚合组。通过目标端口的频繁加入与移除,对待测设备进行内存泄露的检测。
本实施例提供的内存泄露的检测系统,通过模拟发送LACP协议报文的方式,造成毫秒级的LAG成员端口变化,或者LAG状态变化,提高了测试效率,可以满足超大数量级的测试要求。
根据本发明实施例,提供了一种内存泄露的检测方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
在本实施例中提供了一种内存泄露的检测方法,可用于上述的待测设备,如手机、平板电脑等,图2是根据本发明实施例的内存泄露的检测方法的流程图,如图2所示,该流程包括如下步骤:
S11,通过目标端口接收辅助设备发送的目标报文。
如上文所述,目标报文可能是辅助设备修改后的报文,也可能是没有修改的原始报文,在此对其并不做任何限定。其中,待测设备中用于接收目标报文的目标端口可以是固定,也可以是随机指定的,等等。
其中,在待测设备与辅助设备之间进行目标报文的传输之前,两者需要进行链路协商。即,将待测设备与辅助测试设备(辅测设备只要支持链路聚合,自定义发包即可;如测试仪,pc,服务器等)互联。待测设备与辅助测试设备都正确配置链路聚合,链路两端正常协商成功。
S12,将目标报文与对应的基准报文进行比较。
待测设备在接收到目标报文之后,将目标报文与基准报文进行比较,确定目标报文是否发生改变。其中,基准报文为该通信协议下的标准报文形式。
S13,当目标报文发生改变时,将目标端口移出链路聚合组。
在确定出目标报文发生改变时,待测设备将该目标端口移除链路聚合组,以模拟LAG成员端口变化,或,LAG状态变化,等等。
S14,触发目标端口重新加入链路聚合组,并获取待测设备的当前内存使用量。
待测设备再次与辅助设备进行LACP协商,协商成功后,待测设备再次将目标端口加入链路聚合组。上述S11-S14可以循环N次,在每循环N次之后,待测设备获取当前内存使用量。
其中,循环N次的具体次数可以实际情况进行设置,在此对其并不做任何限定。对于当前内存使用量的获取,待测设备可以通过内存命令直接读取得到。
S15,基于当前内存使用量与待测设备的初始内存使用量的大小关系,确定待测设备的内存泄露状态。
初始内存使用量为未进行内存泄露测试时,待测设备获取到的内存使用量。待测设备将获取到的当前内存使用量与初始内存使用量进行比较,若当前内存使用量与初始内存使用量的差异较大,说明内存使用量异常增大,则表示存在内存泄露;否则,无内存泄露。
本实施例提供的内存泄露的检测方法,通过持续模拟发送协议报文的方式,造成毫秒级的LAG成员端口变化,或者LAG状态变化。该方法改进了传统插拔网线、光模块,或者使用命令行修改等秒级触发方式效率低下的问题,可以满足超大数量级的测试要求,提高了内存泄露的测试效率。
在本实施例中提供了一种内存泄露的检测方法,可用于上述的待测设备,如手机、平板电脑等,图3是根据本发明实施例的内存泄露的检测方法的流程图,如图3所示,该流程包括如下步骤:
S21,通过目标端口接收辅助设备发送的目标报文。
详细请参见图2所示实施例的S11,在此不再赘述。
S22,将目标报文与对应的基准报文进行比较。
具体地,上述S22包括:
S221,提取目标报文的LAG ID字段。
S222,将提取出的LAG ID字段与基准报文的LAG ID字段进行比较。
如上文所述,辅助设备可以通过修改原始报文的LAG ID字段得到目标报文。基于此,待测设备提取目标报文的LAG ID字段,将其与基准报文的LAG ID字段进行比较。
S23,当目标报文发生改变时,将目标端口移出链路聚合组。
详细请参见图2所示实施例的S23,在此不再赘述。
S24,触发目标端口重新加入链路聚合组,并获取待测设备的当前内存使用量。
具体地,上述S24包括:
S241,向与辅助设备发送LACP协商数据包,以与辅助设备进行LACP协商。
S242,当协商成功时,将目标端口重新加入链路聚合组。
待测设备向辅助设备发送LACP协商数据包,与辅助设备开始LACP协商过程。在协商成功之后,待测设备将目标端口重新加入链路聚合组。由于链路状态和配置都没有改变,链路会很快重新协商成功,端口重新加入到汇聚组。通过目标端口的频繁加入与删除,进行内存泄露的测试。正常情况下,目标端口的频繁加入与删除不会带来内存泄露,若频繁加入与删除导致内存使用量异常增大,则就可以确定待测设备发生内存泄露。
S25,基于当前内存使用量与待测设备的初始内存使用量的大小关系,确定待测设备的内存泄露状态。
具体地,上述S25包括:
S251,将当前内存使用量与初始内存使用量进行比较。
S252,当比较结果异常时,确定待测设备存在内存泄露。
如上文所述,待测设备将当前内存使用量与初始内存使用量进行比较,确定测试过程中的内存使用量。若测试过程中的内存使用量异常增大,则确定该待测设备存在内存泄露。
本实施例提供的内存泄露的检测方法,当链路两端协商一致后,如果从对端端口收到的LACP报文,发现LAG ID发生了改变(系统ID或操作KEY发生了变化,系统ID改变说明连接到的对端设备发生了变化,操作KEY发生了变化可能是对端端口的属性发生了变化),这时端口会离开这个汇聚组,基于该方式造成毫秒级的LAG成员端口变化,或者LAG状态变化,简单易行。
在本实施例的一些可选实施方式中,该方法还可以包括:
(1)通过目标端口接收预设数量的注入数据。
(2)当目标报文发生改变时,删除注入数据。
(3)当目标端口重新加入链路聚合组时,恢复注入数据。
(4)基于待测设备中注入数据的大小,确定待测设备的内存泄露状态。
其中,该注入数据可以是MAC地址、ARP报文、ND报文或路由信息,等等。具体地,向目标端口打入大量mac地址,链路聚合震荡过程中MAC地址的添加删除是否有异常,是否引起内存泄漏。
或者,向目标端口打入大量ARP报文,链路聚合震荡过程中ARP的添加删除是否有异常,是否引起内存泄漏。
或者,打入大量ND报文,链路聚合震荡过程中ND的添加删除是否有异常,是否引起内存泄漏。
或者,打入大量路由信息,链路聚合震荡过程中路由的添加删除是否有异常,是否引起内存泄漏。
通过向目标端口注入大量的注入数据,通过注入数据的添加删除是否异常,确定是否引起内存泄露,也可以满足超大数量级的测试要求。
在本实施例中提供了一种内存泄露的检测方法,可用于上述的辅助设备,如手机、平板电脑等,图4是根据本发明实施例的内存泄露的检测方法的流程图,如图4所示,该流程包括如下步骤:
S31,抓取原始报文,并对原始报文进行修改得到目标报文。
辅助设备抓取发送的原始报文,对其进行修改得到目标报文。例如,修改所述原始报文的LAG ID字段,确定所述目标报文。
S32,将目标报文发送至待测设备的目标端口,以使得待测设备执行上述的内存泄露的检测方法确定所述待测设备的内存泄露状态。
辅助设备将目标报文发送至待测设备的目标端口,从而待测设备就可以基于目标端口接收到的目标报文进行内存泄露的测试。关于该过程详细请参见图2或图3所示实施例的相应描述,在此不再赘述。
本实施例提供的内存泄露的检测方法,通过持续模拟发送协议报文的方式,造成毫秒级的LAG成员端口变化,或者LAG状态变化。该方法改进了传统插拔网线、光模块,或者使用命令行修改等秒级触发方式效率低下的问题,可以满足超大数量级的测试要求,提高了内存泄露的测试效率。
作为本实施例的一个具体应用示例,如图5所示,该方法包括:
S401,辅助设备抓取原始报文,并对原始报文进行修改得到目标报文。详细请参见图4所示实施例的S31,在此不再赘述。
S402,辅助设备将目标报文发送至待测设备的目标端口。详细请参见图4所示实施例的S32,在此不再赘述。
S403,待测设备通过目标端口接收辅助设备发送的目标报文。详细请参见图3所示实施例的S21,在此不再赘述。
S404,待测设备将目标报文与对应的基准报文进行比较。详细请参见图3所示实施例的S22,在此不再赘述。
S405,当目标报文发生改变时,待测设备将目标端口移出链路聚合组。详细请参见图3所示实施例的S23,在此不再赘述。
S406,待测设备向与辅助设备发送LACP协商数据包,以与辅助设备进行LACP协商。详细请参见图3所示实施例的S241,在此不再赘述。
S407,当协商成功时,待测设备将目标端口重新加入链路聚合组。详细请参见图3所示实施例的S242,在此不再赘述。
S408,待测设备基于当前内存使用量与待测设备的初始内存使用量的大小关系,确定待测设备的内存泄露状态。详细请参见图3所示实施例的S25,在此不再赘述。
在本实施例中还提供了一种内存泄露的检测装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
本实施例提供一种内存泄露的检测装置,如图6所示,包括:
第一发送模块51,用于通过目标端口接收辅助设备发送的目标报文;
比较模块52,用于将所述目标报文与对应的基准报文进行比较;
移出模块53,用于当所述目标报文发生改变时,将所述目标端口移出链路聚合组;
触发模块54,用于触发所述目标端口重新加入所述链路聚合组,并获取所述待测设备的当前内存使用量;
确定模块55,用于基于所述当前内存使用量与所述待测设备的初始内存使用量的大小关系,确定所述待测设备的内存泄露状态。
本实施例提供一种内存泄露的检测装置,如图7所示,包括:
抓取模块61,用于抓取原始报文,并对所述原始报文进行修改得到目标报文;
第二发送模块62,用于将所述目标报文发送至待测设备的目标端口,以使得所述待测设备执行本发明第一方面,或第一方面中任一项所述的内存泄露的检测方法确定所述待测设备的内存泄露状态。
本实施例中的内存泄露的检测装置是以功能单元的形式来呈现,这里的单元是指ASIC电路,执行一个或多个软件或固定程序的处理器和存储器,和/或其他可以提供上述功能的器件。
上述各个模块的更进一步的功能描述与上述对应实施例相同,在此不再赘述。
本发明实施例还提供一种电子设备,具有上述图6或图7所示的内存泄露的检测装置,分别对应于上述的待测设备与辅助设备。
请参阅图8,图8是本发明可选实施例提供的一种电子设备的结构示意图,如图8所示,该电子设备可以包括:至少一个处理器71,例如CPU(Central Processing Unit,中央处理器),至少一个通信接口73,存储器74,至少一个通信总线72。其中,通信总线72用于实现这些组件之间的连接通信。其中,通信接口73可以包括显示屏(Display)、键盘(Keyboard),可选通信接口73还可以包括标准的有线接口、无线接口。存储器74可以是高速RAM存储器(Random Access Memory,易挥发性随机存取存储器),也可以是非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器74可选的还可以是至少一个位于远离前述处理器71的存储装置。其中处理器71可以结合图6或图7所描述的装置,存储器74中存储应用程序,且处理器71调用存储器74中存储的程序代码,以用于执行上述任一方法步骤。
其中,通信总线72可以是外设部件互连标准(peripheral componentinterconnect,简称PCI)总线或扩展工业标准结构(extended industry standardarchitecture,简称EISA)总线等。通信总线72可以分为地址总线、数据总线、控制总线等。为便于表示,图8中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
其中,存储器74可以包括易失性存储器(英文:volatile memory),例如随机存取存储器(英文:random-access memory,缩写:RAM);存储器也可以包括非易失性存储器(英文:non-volatile memory),例如快闪存储器(英文:flash memory),硬盘(英文:hard diskdrive,缩写:HDD)或固态硬盘(英文:solid-state drive,缩写:SSD);存储器74还可以包括上述种类的存储器的组合。
其中,处理器71可以是中央处理器(英文:central processing unit,缩写:CPU),网络处理器(英文:network processor,缩写:NP)或者CPU和NP的组合。
其中,处理器71还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路(英文:application-specific integrated circuit,缩写:ASIC),可编程逻辑器件(英文:programmable logic device,缩写:PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(英文:complex programmable logic device,缩写:CPLD),现场可编程逻辑门阵列(英文:field-programmable gate array,缩写:FPGA),通用阵列逻辑(英文:generic arraylogic,缩写:GAL)或其任意组合。
可选地,存储器74还用于存储程序指令。处理器71可以调用程序指令,实现如本申请任一实施例中所示的内存泄露的检测方法。
本发明实施例还提供了一种非暂态计算机存储介质,所述计算机存储介质存储有计算机可执行指令,该计算机可执行指令可执行上述任意方法实施例中的内存泄露的检测方法。其中,所述存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)、随机存储记忆体(Random Access Memory,RAM)、快闪存储器(Flash Memory)、硬盘(Hard DiskDrive,缩写:HDD)或固态硬盘(Solid-State Drive,SSD)等;所述存储介质还可以包括上述种类的存储器的组合。
虽然结合附图描述了本发明的实施例,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下做出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。
Claims (10)
1.一种内存泄漏的检测方法,其特征在于,应用于待测设备,所述方法包括:
通过目标端口接收辅助设备发送的目标报文,所述目标报文为辅助设备通过修改原始报文得到;
将所述目标报文与对应的基准报文进行比较;
当所述目标报文发生改变时,将所述目标端口移出链路聚合组;
触发所述目标端口重新加入所述链路聚合组;
循环执行上述步骤若干次之后获取所述待测设备的当前内存使用量;
基于所述当前内存使用量与所述待测设备的初始内存使用量的大小关系,确定所述待测设备的内存泄漏状态。
2.根据权利要求1所述的方法,其特征在于,所述将所述目标报文与对应的基准报文进行比较,包括:
提取所述目标报文的LAG ID字段;
将提取出的所述LAG ID字段与所述基准报文的LAG ID字段进行比较。
3.根据权利要求1所述的方法,其特征在于,所述触发所述目标端口重新加入所述链路聚合组,包括:
向所述辅助设备发送LACP协商数据包,以与所述辅助设备进行LACP协商;
当协商成功时,将所述目标端口重新加入所述链路聚合组。
4.根据权利要求1所述的方法,其特征在于,所述基于所述当前内存使用量与所述待测设备的初始内存使用量的大小关系,确定所述待测设备的内存泄漏状态,包括:
将所述当前内存使用量与所述初始内存使用量进行比较;
当比较结果异常时,确定所述待测设备存在内存泄漏。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
通过所述目标端口接收预设数量的注入数据;
当所述目标报文发生改变时,删除所述注入数据;
当所述目标端口重新加入所述链路聚合组时,恢复所述注入数据;
基于所述待测设备中注入数据的大小,确定所述待测设备的内存泄漏状态。
6.一种内存泄漏的检测方法,其特征在于,应用于辅助设备,所述方法包括:
抓取原始报文,并对所述原始报文进行修改得到目标报文;
将所述目标报文发送至待测设备的目标端口,以使得所述待测设备执行权利要求1-5中任一项所述的内存泄漏的检测方法确定所述待测设备的内存泄漏状态。
7.根据权利要求6所述的方法,其特征在于,所述对所述原始报文进行修改得到目标报文,包括:
修改所述原始报文的LAG ID字段,确定所述目标报文。
8.一种电子设备,其特征在于,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器执行权利要求1-5任一项,或者,权利要求6-7中任一项所述的内存泄漏的检测方法。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-5任一项,或者,权利要求6-7中任一项所述的内存泄漏的检测方法。
10.一种内存泄漏的检测系统,其特征在于,包括:
辅助设备,用于执行权利要求6或7所述的内存泄漏的检测方法;
待测设备,与所述辅助设备连接,用于执行权利要求1-5中任一项所述的内存泄漏的检测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111636778.8A CN114356630B (zh) | 2021-12-29 | 2021-12-29 | 内存泄漏的检测方法、电子设备、存储介质及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111636778.8A CN114356630B (zh) | 2021-12-29 | 2021-12-29 | 内存泄漏的检测方法、电子设备、存储介质及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114356630A CN114356630A (zh) | 2022-04-15 |
CN114356630B true CN114356630B (zh) | 2023-11-10 |
Family
ID=81102672
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111636778.8A Active CN114356630B (zh) | 2021-12-29 | 2021-12-29 | 内存泄漏的检测方法、电子设备、存储介质及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114356630B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108923964A (zh) * | 2018-06-26 | 2018-11-30 | 新华三技术有限公司 | 聚合链路设置方法、装置以及电子设备 |
CN110784339A (zh) * | 2019-10-09 | 2020-02-11 | 杭州迪普科技股份有限公司 | Lacp报文超时的故障检测方法、装置、电子设备 |
CN111682989A (zh) * | 2020-07-01 | 2020-09-18 | 迈普通信技术股份有限公司 | 一种端口链路状态的检测方法、设备及系统 |
-
2021
- 2021-12-29 CN CN202111636778.8A patent/CN114356630B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108923964A (zh) * | 2018-06-26 | 2018-11-30 | 新华三技术有限公司 | 聚合链路设置方法、装置以及电子设备 |
CN110784339A (zh) * | 2019-10-09 | 2020-02-11 | 杭州迪普科技股份有限公司 | Lacp报文超时的故障检测方法、装置、电子设备 |
CN111682989A (zh) * | 2020-07-01 | 2020-09-18 | 迈普通信技术股份有限公司 | 一种端口链路状态的检测方法、设备及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN114356630A (zh) | 2022-04-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111884879A (zh) | 一种网络检测方法、装置以及相关设备 | |
CN110896366B (zh) | 多网卡设备的网卡功能测试方法、装置及存储介质 | |
CN110557304B (zh) | 一种地址探测方法、设备及计算机可读存储介质 | |
CN113518018B (zh) | 一种路由器系统稳定性测试系统及测试方法 | |
CN104486791A (zh) | 无线接入设备的抗干扰测试系统及方法 | |
CN106656580B (zh) | 一种业务状态的迁移方法及装置 | |
CN112333013B (zh) | 自适应组网方法、装置、路由器及存储介质 | |
CN114356630B (zh) | 内存泄漏的检测方法、电子设备、存储介质及系统 | |
CN114070752A (zh) | 测试方法、装置、电子设备及计算机可读存储介质 | |
CN112600703A (zh) | 网络设备远程访问故障定位方法及装置 | |
CN112637010A (zh) | 一种设备的检查方法及装置 | |
CN111427777A (zh) | 一种sol测试的方法、系统、设备以及介质 | |
CN106034119B (zh) | 应用安装包的加密混淆方法及装置 | |
CN110753363A (zh) | 一种智能设备无线调试系统和方法 | |
CN113038499B (zh) | 终端Wi-Fi兼容性测试方法、装置、系统、设备及介质 | |
CN107959595B (zh) | 一种异常检测的方法、装置及系统 | |
CN112737890B (zh) | 一种防止网络震荡导致网络测试仪中断的方法及系统 | |
CN111314198B (zh) | 一种白盒交换机设置端口ip的方法和设备 | |
CN114281611A (zh) | 一种全面检测系统盘的方法、系统、设备和存储介质 | |
CN105451370A (zh) | 一种数据管理方法、装置和系统 | |
CN106899450B (zh) | 带有旁路功能端口子卡的性能检测方法及装置 | |
CN113722133B (zh) | 一种内存泄漏检测方法、装置及设备 | |
CN116389188B (zh) | 一种数据传输方法和相关装置 | |
CN114006872B (zh) | 数据包的传输方法、装置、电子设备及可读存储介质 | |
CN115037664B (zh) | 一种网络连接测试方法、装置、中继器和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |