CN113722142B - 内存不足的原因分析方法、装置、电子设备及存储介质 - Google Patents

内存不足的原因分析方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN113722142B
CN113722142B CN202111028295.XA CN202111028295A CN113722142B CN 113722142 B CN113722142 B CN 113722142B CN 202111028295 A CN202111028295 A CN 202111028295A CN 113722142 B CN113722142 B CN 113722142B
Authority
CN
China
Prior art keywords
memory
equipment
condition
client
target information
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
Application number
CN202111028295.XA
Other languages
English (en)
Other versions
CN113722142A (zh
Inventor
刘志文
张莹莹
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Topsec Technology Co Ltd
Beijing Topsec Network Security Technology Co Ltd
Beijing Topsec Software Co Ltd
Original Assignee
Beijing Topsec Technology Co Ltd
Beijing Topsec Network Security Technology Co Ltd
Beijing Topsec Software Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Topsec Technology Co Ltd, Beijing Topsec Network Security Technology Co Ltd, Beijing Topsec Software Co Ltd filed Critical Beijing Topsec Technology Co Ltd
Priority to CN202111028295.XA priority Critical patent/CN113722142B/zh
Publication of CN113722142A publication Critical patent/CN113722142A/zh
Application granted granted Critical
Publication of CN113722142B publication Critical patent/CN113722142B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/079Root cause analysis, i.e. error or fault diagnosis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Quality & Reliability (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请提供一种内存不足的原因分析方法、装置、电子设备及存储介质,涉及计算机技术领域。该方法通过获取设备自身记录的与内存不足相关的目标信息,然后对目标信息进行分析,获取导致该设备的内存不足的原因,从而可以自动对设备的内存不足的原因进行分析,无需依靠人为进行问题定位,效率更高且更容易对原因进行准确定位。

Description

内存不足的原因分析方法、装置、电子设备及存储介质
技术领域
本申请涉及计算机技术领域,具体而言,涉及一种内存不足的原因分析方法、装置、电子设备及存储介质。
背景技术
负载均衡设备通常应用在流量较大的环境中,利用其支持的负载均衡算法实现对服务器的调度,以此来做流量均摊。但由于流量较大,再加上业务和操作的复杂性,在低端的负载均衡设备上可能会出现内存不足(out of memory,oom),其是指没有足够的内存来为应用程序分配空间。
对内存不足的原因进行定位一直是很难解决的问题,现有的方案一般是设备在出现内存不足问题后,人为来逐一排查各种原因,这种方式效率低下,且定位问题的难度较大。
发明内容
本申请实施例的目的在于提供一种内存不足的原因分析方法、装置、电子设备及存储介质,用以改善现有技术中定位问题的效率低且难度大的问题。
第一方面,本申请实施例提供了一种内存不足的原因分析方法,所述方法包括:获取设备自身记录的与内存不足相关的目标信息;对所述目标信息进行分析,获取导致所述设备的内存不足的原因。
在上述实现过程中,通过获取设备自身记录的与内存不足相关的目标信息,然后对目标信息进行分析,获取导致该设备的内存不足的原因,从而可以自动对设备的内存不足的原因进行分析,无需依靠人为进行问题定位,效率更高且更容易对原因进行准确定位。
可选地,所述目标信息包括对所述设备进行访问的客户端的访问信息和/或所述设备中的应用程序的资源使用情况,所述对所述目标信息进行分析,获取导致所述设备的内存不足的原因,包括:
根据所述客户端的访问信息判断所述设备是否遭受所述客户端的攻击;
若是,则确定导致所述设备的内存不足的原因包括遭受网络攻击;和/或根据所述应用程序的资源使用情况判断所述设备的硬件情况是否达到设定条件;
若所述设备的硬件情况未达到设定条件,则确定导致所述设备的内存不足的原因包括所述设备的硬件出现问题。
在上述实现过程中,通过根据客户端的访问信息和/或应用程序的资源使用情况来对设备出现内存不足的原因进行分析,从而能够对原因进行更准确的定位,以便于管理人员能够对问题进行更准确的排查或优化,排查效率更高。
可选地,所述访问信息包括所述客户端的访问请求数,所述根据所述客户端的访问信息判断所述设备是否遭受所述客户端的攻击,包括:
判断所述访问请求数是否超过设定阈值;
若是,则确定所述设备遭受所述客户端的攻击。
在上述实现过程中,通过判断访问请求数来判断设备是否遭受攻击,从而能够定位设备是否是由于接收到的访问请求较多进而不停申请内存导致内存不足的问题。
可选地,所述访问信息还包括所述客户端的地址信息,所述确定所述设备遭受所述客户端的攻击之后,还包括:
在所述设备上配置针对所述地址信息的访问控制策略,以使所述设备拒绝所述客户端的再次访问请求。这样可确保设备不再受客户端的攻击,确保设备的网络安全。
可选地,所述应用程序的资源使用情况包括应用程序的新建连接数和/或并发连接数;所述根据所述应用程序的资源使用情况判断所述设备的硬件情况是否达到设定条件,包括:
判断所述新建连接数是否达到第一设定数值,和/或判断所述并发连接数是否达到第二设定数值;
若所述新建连接数达到第一设定数值和/或所述并发连接数达到第二设定数值,则确定所述设备的硬件情况未达到设定条件。
在上述实现过程中,通过判断新建连接数和并发连接数来判断设备的硬件情况,从而可定位设备的内存不足的原因是否与设备的硬件性能有关。
可选地,所述应用程序的资源使用情况包括所述设备的出接口的接口状态以及丢包数量;所述根据所述应用程序的资源使用情况判断所述设备的硬件情况是否达到设定条件,包括:
判断所述出接口的接口状态是否为断掉状态,以及判断所述出接口的丢包数量是否大于设定数量;
若所述出接口的接口状态为断掉状态且所述丢包数量大于设定数量,则确定所述设备的硬件情况未达到设定条件;
所述确定导致所述设备的内存不足的原因为所述设备的硬件出现问题,包括:
确定导致所述设备的内存不足的原因包括所述设备的出接口断掉。
在上述实现过程中,通过获取出接口的接口状态以及丢包数量来判断设备的硬件情况,从而定位设备出现内存不足的原因是否与出接口的状态有关,实现对原因的更细粒度的定位。
可选地,所述获取设备自身记录的与内存不足相关的目标信息之前,还包括:
在检测到所述设备出现内存不足信号时,记录与内存不足相关的目标信息到dmesg文件中,并将所述dmesg文件存储到所述设备的存储介质中。在出现内存不足信号时,记录目标信息,从而可以及时捕获到内存不足时的相关信息,进而能够更容易根据目标信息对内存不足的原因进行定位。
可选地,通过以下方式生成内存不足信号:
在检测到所述设备的访问流量大于设定流量时,生成内存不足信号,以及时感知到设备的内存不足问题。
第二方面,本申请实施例提供了一种内存不足的原因分析装置,所述装置包括:
信息获取模块,用于获取设备自身记录的与内存不足相关的目标信息;
原因分析模块,用于对所述目标信息进行分析,获取导致所述设备的内存不足的原因。
可选地,所述目标信息包括对所述设备进行访问的客户端的访问信息和/或所述设备中的应用程序的资源使用情况,所述原因分析模块,用于根据所述客户端的访问信息判断所述设备是否遭受所述客户端的攻击;若是,则确定导致所述设备的内存不足的原因包括遭受网络攻击;和/或根据所述应用程序的资源使用情况判断所述设备的硬件情况是否达到设定条件;若所述设备的硬件情况未达到设定条件,则确定导致所述设备的内存不足的原因包括所述设备的硬件出现问题。
可选地,所述访问信息包括所述客户端的访问请求数,所述原因分析模块,用于判断所述访问请求数是否超过设定阈值;若是,则确定所述设备遭受所述客户端的攻击。
可选地,所述访问信息还包括所述客户端的地址信息,所述装置还包括:
策略配置模块,用于在所述设备上配置针对所述地址信息的访问控制策略,以使所述设备拒绝所述客户端的再次访问请求。
可选地,所述应用程序的资源使用情况包括应用程序的新建连接数和/或并发连接数;所述原因分析模块,用于判断所述新建连接数是否达到第一设定数值,和/或判断所述并发连接数是否达到第二设定数值;若所述新建连接数达到第一设定数值和/或所述并发连接数达到第二设定数值,则确定所述设备的硬件情况未达到设定条件。
可选地,所述应用程序的资源使用情况包括所述设备的出接口的接口状态以及丢包数量;所述原因分析模块,用于判断所述出接口的接口状态是否为断掉状态,以及判断所述出接口的丢包数量是否大于设定数量;若所述出接口的接口状态为断掉状态且所述丢包数量大于设定数量,则确定所述设备的硬件情况未达到设定条件;确定导致所述设备的内存不足的原因包括所述设备的出接口断掉。
可选地,所述信息获取模块,用于在检测到所述设备出现内存不足信号时,记录与内存不足相关的目标信息到dmesg文件中,并将所述dmesg文件存储到所述设备的存储介质中。
可选地,通过以下方式生成内存不足信号:
在检测到所述设备的访问流量大于设定流量时,生成内存不足信号。
第三方面,本申请实施例提供一种电子设备,包括处理器以及存储器,所述存储器存储有计算机可读取指令,当所述计算机可读取指令由所述处理器执行时,运行如上述第一方面提供的所述方法中的步骤。
第四方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时运行如上述第一方面提供的所述方法中的步骤。
本申请的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请实施例了解。本申请的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本申请实施例提供的一种内存不足的原因分析方法的流程图;
图2为本申请实施例提供的一种内存不足的原因分析装置的结构框图;
图3为本申请实施例提供的一种用于执行内存不足的原因分析方法的电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本发明实施例中的术语“系统”和“网络”可被互换使用。“多个”是指两个或两个以上,鉴于此,本发明实施例中也可以将“多个”理解为“至少两个”。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,字符“/”,如无特殊说明,一般表示前后关联对象是一种“或”的关系。
本申请实施例提供一种内存不足的原因分析方法,该方法通过获取设备自身记录的与内存不足相关的目标信息,然后对目标信息进行分析,获取导致该设备的内存不足的原因,从而可以自动对设备的内存不足的原因进行分析,无需依靠人为进行问题定位,效率更高且更容易对原因进行准确定位。
请参照图1,图1为本申请实施例提供的一种内存不足的原因分析方法的流程图,该方法包括如下步骤:
步骤S110:获取设备自身记录的与内存不足相关的目标信息。
本申请的内存不足的原因分析方法由设备(如服务器、终端等设备)自身来执行,即设备自身可以在出现内存不足时,记录与内存不足相关的目标信息,如包括设备在内存不足时的各个应用程序的资源使用情况,以及设备被访问情况等,后续可以通过这些信息来分析内存不足的原因。或者,在其他一些应用场景下,如在大型机房内,存在大量的设备,为了提高对这些设备的内存不足的原因的分析效率,本申请的内存不足的原因分析方法也可以通过一监控设备来执行,监控设备可分别与各个设备通信连接,这样监控设备可实时对各个设备的内存不足情况进行监控,在监测到某个设备出现内存不足时,则记录该设备的与内存不足相关的目标信息,后续可基于目标信息对该设备的内存不足的原因进行分析。
为了便于描述,下述实施例中以设备自身来执行本申请的方法为例进行说明。
在一些实施方式中,设备在出现内存不足时,可以生成内存不足信号,这样设备在检测到设备出现内存不足信号时,记录与内存不足相关的目标信息到dmesg文件中,并将dmesg文件存储到设备的存储介质中,从而可以及时捕获到内存不足时的相关信息,进而能够更容易根据目标信息对内存不足的原因进行定位。
其中,dmesg是一种程序,用于检测和控制内核环缓冲,其安装于设备中,用于自动记录设备的相关信息。dmesg文件可以理解为是dmesg程序所维护的一个文件,本申请实施例中,可以通过dmesg程序来自动记录设备中的与内存不足相关的目标信息,然后将目标信息存储到dmesg文件中,为了便于对目标信息进行查询,可将dmesg文件存储到设备的存储介质中。存储介质如硬盘、SD卡、光盘、闪存等。
在一些实施方式中,设备可以在检测到自身的内存已经被全部占用时,生成内存不足信号,这样dmesg程序在检测到内存不足信号之后,可对目标信息进行记录。
或者,在一些其他实施方式中,还可以在检测到设备的访问流量大于设定流量时,生成内存不足信号,这样可以及时感知到设备的内存不足问题。
可以理解地,在设备的访问流量较大时,设备可以确定其内存不够用,从而可生成内存不足信号。访问流量可以是指设备接收到的用户访问请求数,在设备接收到大量的用户请求时,不停的申请内存,以满足对每个用户的请求处理。而由于设备不停的申请内存,当设备的内存条件无法处理大量的访问请求时,则会造成设备的内存不够用,从而导致内存不足的问题。所以,设备在检测到访问流量大于设定流量时,自动生成内存不足信号,以在设备由于内存不足而出现宕机或停止运行前,对目标信息进行记录,以便于后续对内存不足的原因进行分析。
步骤S120:对所述目标信息进行分析,获取导致所述设备的内存不足的原因。
为了对设备的内存不足的原因进行分析,可以自动获取设备记录的目标信息,然后对目标信息进行分析,由于目标信息是与内存不足相关的信息,所以通过对目标信息进行分析,可以更准确定位到内存不足的原因。
在上述实现过程中,通过获取设备自身记录的与内存不足相关的目标信息,然后对目标信息进行分析,获取导致该设备的内存不足的原因,从而可以自动对设备的内存不足的原因进行分析,无需依靠人为进行问题定位,效率更高且更容易对原因进行准确定位。
当然,设备可以将获得的内存不足的原因输出给用户,然后可由用户对该原因进行进一步确认或排查,以对内存不足的原因进行更准确地定位。
在上述实施例的基础上,目标信息可以包括对设备进行访问的客户端的访问信息和/或设备中的应用程序的资源使用情况,在对目标信息进行分析时,可以根据客户端的访问信息判断设备是否遭受客户端的攻击,若是,则确定导致设备的内存不足的原因包括遭受网络攻击;和/或,根据应用程序的资源使用情况判断设备的硬件情况是否达到设定条件,若设备的硬件条件未达到设定条件,则确定导致设备的内存不足的原因包括设备的硬件出现问题。
例如,设备可以记录各个客户端的访问信息,访问信息可以包括客户端的访问请求数量和/或客户端的地址信息等,在判断是否遭受客户端的攻击时,可以判断客户端的地址信息是否属于预先标记的攻击客户端,若是,表示设备可能是由于该客户端进行攻击而发送了大量的访问请求,使得设备的内存不足,所以可以确定设备的内存不足的原因是设备遭受了该客户端的网络攻击,后续对内存不足的原因分析时可对设备遭受的网络攻击进行分析。
在一些实施方式中,访问信息可以包括各个客户端的访问请求数,设备可以自动记录各个客户端的访问请求数,在分析目标信息时,可以判断同一个IP地址的客户端的访问请求数是否超过设定阈值,若是,则确定设备遭受该客户的攻击。
例如,在检测到设备出现内存不足信号后,首先设备会通过执行程序命令,如上述的dmesg程序执行相应的命令,然后记录各个客户端的访问请求数,判断各个客户端的访问请求数是否超过设定阈值,若超过,表示某个客户端的访问请求量较大,可能是攻击行为,此时可确定设备的内存不足是该客户端的网络攻击导致的。
其中,设定阈值可以根据实际需求灵活设置。
在一些实施方式中,设备可以记录各个客户端的访问请求数,而dmesg程序可以从中获取到访问请求数超过设定阈值的客户端的相关信息,将这些客户端的相关信息记录到dmesg文件中,这样在进行分析时,获取dmesg文件中的信息,发现这些客户端均是访问请求数超过了设定阈值的客户端,则认为这些客户端产生了攻击行为,从而导致设备出现内存不足的问题。
在上述实现过程中,通过判断访问请求数来判断设备是否遭受攻击,从而能够定位设备是否是由于接收到的访问请求较多进而不停申请内存导致内存不足的问题。
为了确保网络安全,访问信息还可以包括客户端的地址信息,这样在确定设备遭受客户端的网络攻击后,可以在设备上配置针对地址信息的访问控制策略,以使设备拒绝该客户端的再次访问请求。
也即,可以在设备上配置访问控制策略,该访问控制策略即为拒绝该客户端的再次访问请求。例如,在设备上配置的访问控制策略中记录了该客户端的地址信息,如IP地址为1.1.1.1,设备在后续接收到访问请求后,获取客户端的IP地址,然后查找访问控制策略是否有对该IP地址进行限制,若有,则拒绝IP地址为1.1.1.1的客户端的访问请求。
在上述实现过程中,通过根据客户端的访问信息和/或应用程序的资源使用情况来对设备出现内存不足的原因进行分析,从而能够对原因进行更准确的定位,以便于管理人员能够对问题进行更准确的排查或优化,排查效率更高。
在上述实施例的基础上,应用程序的资源使用情况可以反映设备的硬件情况,例如,在设备出现内存不足的问题时,若应用程序的资源使用情况已经超标,则表示设备的硬件情况不达标,即没有达到设定条件,表示是设备的硬件性能不好,比如内存太小。
应用程序的资源使用情况包括应用程序的新建连接数和/或并发连接数,在根据应用程序的资源使用情况判断设备的硬件情况是否达到设定条件时,可以判断新建连接数是否达到第一设定数值,和/或判断并发连接数是否达到第二设定数值,若新建连接数达到第一数值和/或并发连接数达到第二设定数值,则确定设备的硬件情况未达到设定条件。
其中,新建连接数是指每秒钟新建的TCP连接的数量,并发连接数是指每秒钟建立的TCP连接的总数量,这些数据可反映设备的硬件性能。例如,检测到设备出现内存不足信号时,通过dmesg程序执行程序命令,查看应用程序的资源使用情况,包括新建连接数和/或并发连接数,然后将该数据记录到dmesg文件中,后续可从文件中读取出这些信息后判断新建连接数是否达到第一设定数值,和/或并发连接数是否达到第二设定数值。
由于不停的创建连接和处理请求,导致设备的内存不停的被消耗,新建连接数和并发连接数达到一个最大上限,则可认为是设备的硬件性能不好,即设备的硬件出现了问题。其中,第一设定数值和第二设定数值可以根据实际需求灵活设定,如设定为设备所能承受的最大数值。这样后续在进行分析时,可以判断新建连接数和/或并发连接数是否达到设定数值,例如,若是新建连接数达到了第一设定数值,或者并发连接数达到了第二设定数值,或者是新建连接数达到第一设定数值且并发连接数达到第二设定数值,若这三个条件中的任一个条件满足,则表示此时已经达到设备的性能瓶颈了,确定设备的硬件情况未达到设定条件。所以,针对内存不足的原因则是设备的硬件性能不足导致的,后续在优化时,则可以对设备的硬件性能进行改善,而无需将时间花费在定位程序问题上,以实现对内存不足的原因进行准确定位。
在上述实现过程中,通过判断新建连接数和并发连接数来判断设备的硬件情况,从而可定位设备的内存不足的原因是否与设备的硬件性能有关。
在上述实施例的基础上,应用程序的资源使用情况还可以包括设备的出接口的接口状态以及丢包数量,在根据应用程序的资源使用情况判断设备的硬件情况是否达到设定条件时,可以通过判断出接口的接口状态是否为断掉状态以及判断出接口的丢包数量是否大于设定数量,若出接口的接口状态为断掉状态且丢包数量大于设定数量,则确定设备的硬件条件未达到设定条件,此时确定导致设备的内存不足的原因包括设备的出接口断掉。
例如,在检测到设备出现内存不足信号后,通过执行程序命令,获取应用程序的资源使用情况,包括出接口的接口状态以及丢包数量,然后将该信息记录到dmesg文件中。后续从该文件中获取到出接口的接口状态以及丢包数量,如果其接口状态为down(断掉),则表示出接口没法进行数据包转发,丢包数量较大(如丢包数量大于设定数量,设定数量可以根据实际需求灵活设定)时,丢掉的数据包所申请的内存也无法及时得到释放,则可认为设备的硬件情况未达到设定条件,即硬件出现了问题,所以,可以定位导致设备的内存不足的原因为设备的出接口断掉,后续在优化时,可以排查出接口断掉的原因,而无需将时间花费在定位程序问题上。
或者,在出接口的接口状态不是断掉状态,而是正常上电状态,但是丢包数量又大于设定数量时,可确定导致设备的内存不足的原因包括设备的硬件性能不达标或者设备所在的网络环境出现了问题。
另外,应用程序的资源使用情况还可以包括入接口的状态以及收包数量,然后结合出接口的信息来综合判断设备的硬件情况是否达到设定条件。例如,若出接口的接口状态为断掉,且丢包数量大于设定数量,而此时入接口的接口状态为正常上电状态,其还在不停的收包,如其收包数量大于预设数量,此时设备中可能堆积了大量的TCP连接,这些连接不停的申请内存,但是丢掉的数据包所申请的内存又不能及时释放,所以导致设备的内存不停的消耗,最终内存不足使得设备出现内存不足的问题。这种情况也可以判断是因为出接口断掉的原因而导致出现内存不足的,从而可以对内存不足的原因进行准确定位,以便于管理人员能够对问题实现更精准的排查。
在上述实现过程中,通过获取出接口的接口状态以及丢包数量来判断设备的硬件情况,从而定位设备出现内存不足的原因是否与出接口的状态有关,实现对原因的更细粒度的定位。
在上述实施例的基础上,若设备的存储介质中存储了客户端的访问信息以及应用程序的资源使用情况,则可以对这两种信息依次进行判断,如可以针对每种判断情况设置对应的判断优先级,如若认为设备的硬件情况而导致内存不足的情况是比较重要的,应该优先排查,则可以先根据应用程序的资源使用情况进行判断,然后再根据客户端的访问信息进行判断,如此可以根据问题排查的重要程度来确定各种判断手段的优先级。
在上述实施例的基础上,设备在出现内存不足问题后,设备可以及时记录相关的目标信息,然后在设备由于内存不足而导致设备重启,设备可在重启之后,获取存储介质中存储的目标信息,然后对目标信息进行分析。
另外,在设备出现内存不足时,还可以记录设备的内存使用情况及内存剩余情况,以排查是否是由于内存不够用而导致的内存不足问题,当然在判断时,可以先优先排查这个问题,即优先判断内存使用情况是否已被完全使用,内存剩余情况是否没有剩余,若是,则确定设备出现内存不足问题是真实的,而不是由于其他原因导致产生错误的内存不足问题,然后再结合上述的客户端的访问信息和应用程序的资源使用情况来等其原因。若内存使用情况没有被占满,或内存还有很多剩余,如剩余内存大于设定内存,或已使用内存小于设定使用内存,则认为设备出现的内存不足问题是有误的,并不是由于内存不够用而产生的,此时可对其他原因进行排查。
在上述实施例的基础上,设备在确定其出现内存不足的原因后,可将原因输出给管理人员,以便于管理人员可以基于原因进行问题排查或设备优化等工作。
需要说明的是,上述分析获得导致设备出现内存不足的原因可以包含上述实施例中的至少一种原因,后续管理人员在进行问题排查或者是对设备进行优化时,可以参考这些原因进行处理,从而可为管理人员提供有效的排查或优化依据,提高处理效率。
请参照图2,图2为本申请实施例提供的一种内存不足的原因分析装置200的结构框图,该装置200可以是电子设备(即上述的设备)上的模块、程序段或代码。应理解,该装置200与上述图1方法实施例对应,能够执行图1方法实施例涉及的各个步骤,该装置200具体的功能可以参见上文中的描述,为避免重复,此处适当省略详细描述。
可选地,所述装置200包括:
信息获取模块210,用于获取设备自身记录的与内存不足相关的目标信息;
原因分析模块220,用于对所述目标信息进行分析,获取导致所述设备的内存不足的原因。
可选地,所述目标信息包括对所述设备进行访问的客户端的访问信息和/或所述设备中的应用程序的资源使用情况,所述原因分析模块220,用于根据所述客户端的访问信息判断所述设备是否遭受所述客户端的攻击;若是,则确定导致所述设备的内存不足的原因包括遭受网络攻击;和/或根据所述应用程序的资源使用情况判断所述设备的硬件情况是否达到设定条件;若所述设备的硬件情况未达到设定条件,则确定导致所述设备的内存不足的原因包括所述设备的硬件出现问题。
可选地,所述访问信息包括所述客户端的访问请求数,所述原因分析模块220,用于判断所述访问请求数是否超过设定阈值;若是,则确定所述设备遭受所述客户端的攻击。
可选地,所述访问信息还包括所述客户端的地址信息,所述装置200还包括:
策略配置模块,用于在所述设备上配置针对所述地址信息的访问控制策略,以使所述设备拒绝所述客户端的再次访问请求。
可选地,所述应用程序的资源使用情况包括应用程序的新建连接数和/或并发连接数;所述原因分析模块220,用于判断所述新建连接数是否达到第一设定数值,和/或判断所述并发连接数是否达到第二设定数值;若所述新建连接数达到第一设定数值和/或所述并发连接数达到第二设定数值,则确定所述设备的硬件情况未达到设定条件。
可选地,所述应用程序的资源使用情况包括所述设备的出接口的接口状态以及丢包数量;所述原因分析模块220,用于判断所述出接口的接口状态是否为断掉状态,以及判断所述出接口的丢包数量是否大于设定数量;若所述出接口的接口状态为断掉状态且所述丢包数量大于设定数量,则确定所述设备的硬件情况未达到设定条件;确定导致所述设备的内存不足的原因包括所述设备的出接口断掉。
可选地,所述信息获取模块210,用于在检测到所述设备出现内存不足信号时,记录与内存不足相关的目标信息到dmesg文件中,并将所述dmesg文件存储到所述设备的存储介质中。
可选地,通过以下方式生成内存不足信号:
在检测到所述设备的访问流量大于设定流量时,生成内存不足信号。
需要说明的是,本领域技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再重复描述。
请参照图3,图3为本申请实施例提供的一种用于执行内存不足的原因分析方法的电子设备的结构示意图,所述电子设备可以包括:至少一个处理器310,例如CPU,至少一个通信接口320,至少一个存储器330和至少一个通信总线340。其中,通信总线340用于实现这些组件直接的连接通信。其中,本申请实施例中设备的通信接口320用于与其他节点设备进行信令或数据的通信。存储器330可以是高速RAM存储器,也可以是非易失性的存储器(non-volatile memory),例如至少一个磁盘存储器。存储器330可选的还可以是至少一个位于远离前述处理器的存储装置。存储器330中存储有计算机可读取指令,当所述计算机可读取指令由所述处理器310执行时,电子设备执行上述图1所示方法过程。
可以理解,图3所示的结构仅为示意,所述电子设备还可包括比图3中所示更多或者更少的组件,或者具有与图3所示不同的配置。图3中所示的各组件可以采用硬件、软件或其组合实现。
本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,执行如图1所示方法实施例中电子设备所执行的方法过程。
本实施例公开一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法实施例所提供的方法,例如,包括:获取设备自身记录的与内存不足相关的目标信息;对所述目标信息进行分析,获取导致所述设备的内存不足的原因。
综上所述,本申请实施例提供一种内存不足的原因分析方法、装置、电子设备及存储介质,该方法通过获取设备自身记录的与内存不足相关的目标信息,然后对目标信息进行分析,获取导致该设备的内存不足的原因,从而可以自动对设备的内存不足的原因进行分析,无需依靠人为进行问题定位,效率更高且更容易对原因进行准确定位。
在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
再者,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (10)

1.一种内存不足的原因分析方法,其特征在于,所述方法包括:
获取设备自身记录的与内存不足相关的目标信息;
对所述目标信息进行分析,获取导致所述设备的内存不足的原因;
其中,所述目标信息包括所述设备中的应用程序的资源使用情况,所述对所述目标信息进行分析,获取导致所述设备的内存不足的原因,包括:
根据所述应用程序的资源使用情况判断所述设备的硬件情况是否达到设定条件;
若所述设备的硬件情况未达到设定条件,则确定导致所述设备的内存不足的原因包括所述设备的硬件出现问题;
其中,所述应用程序的资源使用情况包括所述设备的出接口的接口状态以及丢包数量;所述根据所述应用程序的资源使用情况判断所述设备的硬件情况是否达到设定条件,包括:
判断所述出接口的接口状态是否为断掉状态,以及判断所述出接口的丢包数量是否大于设定数量;
若所述出接口的接口状态为断掉状态且所述丢包数量大于设定数量,则确定所述设备的硬件情况未达到设定条件;
所述确定导致所述设备的内存不足的原因为所述设备的硬件出现问题,包括:
确定导致所述设备的内存不足的原因包括所述设备的出接口断掉。
2.根据权利要求1所述的方法,其特征在于,所述目标信息还包括对所述设备进行访问的客户端的访问信息,所述对所述目标信息进行分析,获取导致所述设备的内存不足的原因,还包括:
根据所述客户端的访问信息判断所述设备是否遭受所述客户端的攻击;
若是,则确定导致所述设备的内存不足的原因包括遭受网络攻击。
3.根据权利要求2所述的方法,其特征在于,所述访问信息包括所述客户端的访问请求数,所述根据所述客户端的访问信息判断所述设备是否遭受所述客户端的攻击,包括:
判断所述访问请求数是否超过设定阈值;
若是,则确定所述设备遭受所述客户端的攻击。
4.根据权利要求3所述的方法,其特征在于,所述访问信息还包括所述客户端的地址信息,所述确定所述设备遭受所述客户端的攻击之后,还包括:
在所述设备上配置针对所述地址信息的访问控制策略,以使所述设备拒绝所述客户端的再次访问请求。
5.根据权利要求2所述的方法,其特征在于,所述应用程序的资源使用情况包括应用程序的新建连接数和/或并发连接数;所述根据所述应用程序的资源使用情况判断所述设备的硬件情况是否达到设定条件,包括:
判断所述新建连接数是否达到第一设定数值,和/或判断所述并发连接数是否达到第二设定数值;
若所述新建连接数达到第一设定数值和/或所述并发连接数达到第二设定数值,则确定所述设备的硬件情况未达到设定条件。
6.根据权利要求1-5任一所述的方法,其特征在于,所述获取设备自身记录的与内存不足相关的目标信息之前,还包括:
在检测到所述设备出现内存不足信号时,记录与内存不足相关的目标信息到dmesg文件中,并将所述dmesg文件存储到所述设备的存储介质中。
7.根据权利要求6所述的方法,其特征在于,通过以下方式生成内存不足信号:
在检测到所述设备的访问流量大于设定流量时,生成内存不足信号。
8.一种内存不足的原因分析装置,其特征在于,所述装置包括:
信息获取模块,用于获取设备自身记录的与内存不足相关的目标信息;
原因分析模块,用于对所述目标信息进行分析,获取导致所述设备的内存不足的原因;
其中,所述目标信息包括所述设备中的应用程序的资源使用情况,所述原因分析模块,具体用于根据所述应用程序的资源使用情况判断所述设备的硬件情况是否达到设定条件;若所述设备的硬件情况未达到设定条件,则确定导致所述设备的内存不足的原因包括所述设备的硬件出现问题;
其中,所述应用程序的资源使用情况包括所述设备的出接口的接口状态以及丢包数量;所述原因分析模块,具体用于判断所述出接口的接口状态是否为断掉状态,以及判断所述出接口的丢包数量是否大于设定数量;若所述出接口的接口状态为断掉状态且所述丢包数量大于设定数量,则确定所述设备的硬件情况未达到设定条件;确定导致所述设备的内存不足的原因包括所述设备的出接口断掉。
9.一种电子设备,其特征在于,包括处理器以及存储器,所述存储器存储有计算机可读取指令,当所述计算机可读取指令由所述处理器执行时,运行如权利要求1-7任一所述的方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时运行如权利要求1-7任一所述的方法。
CN202111028295.XA 2021-09-02 2021-09-02 内存不足的原因分析方法、装置、电子设备及存储介质 Active CN113722142B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111028295.XA CN113722142B (zh) 2021-09-02 2021-09-02 内存不足的原因分析方法、装置、电子设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111028295.XA CN113722142B (zh) 2021-09-02 2021-09-02 内存不足的原因分析方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN113722142A CN113722142A (zh) 2021-11-30
CN113722142B true CN113722142B (zh) 2023-08-25

Family

ID=78681197

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111028295.XA Active CN113722142B (zh) 2021-09-02 2021-09-02 内存不足的原因分析方法、装置、电子设备及存储介质

Country Status (1)

Country Link
CN (1) CN113722142B (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105320585A (zh) * 2014-07-08 2016-02-10 北京启明星辰信息安全技术有限公司 一种实现应用故障诊断的方法及装置
CN107276789A (zh) * 2017-05-19 2017-10-20 努比亚技术有限公司 日志上传方法、装置及计算机可读存储介质
CN108763050A (zh) * 2018-04-03 2018-11-06 北京奇艺世纪科技有限公司 一种应用内存泄露的检测方法和装置
CN210666750U (zh) * 2019-11-22 2020-06-02 苏州浪潮智能科技有限公司 一种内存故障报警装置
CN111984401A (zh) * 2020-07-24 2020-11-24 五八有限公司 一种内存溢出管理方法、装置、电子设备及存储介质
CN113157458A (zh) * 2021-05-10 2021-07-23 广州欢网科技有限责任公司 快速释放java程序内存方法和装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9720823B2 (en) * 2015-06-18 2017-08-01 Oracle International Corporation Free memory trending for detecting out-of-memory events in virtual machines

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105320585A (zh) * 2014-07-08 2016-02-10 北京启明星辰信息安全技术有限公司 一种实现应用故障诊断的方法及装置
CN107276789A (zh) * 2017-05-19 2017-10-20 努比亚技术有限公司 日志上传方法、装置及计算机可读存储介质
CN108763050A (zh) * 2018-04-03 2018-11-06 北京奇艺世纪科技有限公司 一种应用内存泄露的检测方法和装置
CN210666750U (zh) * 2019-11-22 2020-06-02 苏州浪潮智能科技有限公司 一种内存故障报警装置
CN111984401A (zh) * 2020-07-24 2020-11-24 五八有限公司 一种内存溢出管理方法、装置、电子设备及存储介质
CN113157458A (zh) * 2021-05-10 2021-07-23 广州欢网科技有限责任公司 快速释放java程序内存方法和装置

Also Published As

Publication number Publication date
CN113722142A (zh) 2021-11-30

Similar Documents

Publication Publication Date Title
WO2021008031A1 (zh) 基于微服务实现监控智能化的处理方法及电子装置
US20220121384A1 (en) Hot Data Management Method, Apparatus, and System
CN108039964B (zh) 基于网络功能虚拟化的故障处理方法及装置、系统
US20080126831A1 (en) System and Method for Caching Client Requests to an Application Server Based on the Application Server's Reliability
US10936386B2 (en) Method, device and computer program product for monitoring access request
JP2012503826A (ja) 選択的に軽減を使用してエラーを低減するメモリー管理技術の有効性の評価
US8589441B1 (en) Information processing system and method for controlling the same
CN115632706B (zh) 一种fc链路管理方法、装置、设备及可读存储介质
CN111131339A (zh) 一种基于ip标识号的nat设备识别方法及系统
CN108667740B (zh) 流量控制的方法、装置及系统
US20140115112A1 (en) Server system and message processing method thereof
CN111158945A (zh) 内核故障处理方法、装置、网络安全设备和可读存储介质
CN114296909A (zh) 一种根据kubernetes事件的节点自动扩容缩容方法及系统
CN110569238B (zh) 一种基于大数据的数据治理方法、系统、存储介质和服务端
CN113722142B (zh) 内存不足的原因分析方法、装置、电子设备及存储介质
CN110569178B (zh) 基于大数据平台的接口预警方法和系统
CN106406771B (zh) 日志记录方法及日志记录器
CN109120691B (zh) 业务系统的状态检测方法、系统、装置及计算机可读介质
CN102546652B (zh) 一种服务器负载平衡系统及方法
CN114221807B (zh) 访问请求处理方法、装置、监控设备及存储介质
CN114363048B (zh) 一种拟态未知威胁发现系统
CN104794040A (zh) 业务监控方法、装置及系统
CN112153036B (zh) 一种基于代理服务器的安全防御方法及系统
CN113468020A (zh) 内存监控方法、装置、电子设备及计算机可读存储介质
CN112084090A (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