CN113297046A - 一种内存故障的预警方法及装置 - Google Patents
一种内存故障的预警方法及装置 Download PDFInfo
- Publication number
- CN113297046A CN113297046A CN202010767747.5A CN202010767747A CN113297046A CN 113297046 A CN113297046 A CN 113297046A CN 202010767747 A CN202010767747 A CN 202010767747A CN 113297046 A CN113297046 A CN 113297046A
- Authority
- CN
- China
- Prior art keywords
- memory
- abnormal
- log
- early warning
- fault
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
- G06F11/3476—Data logging
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3452—Performance evaluation by statistical analysis
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Probability & Statistics with Applications (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种内存故障的预警方法及装置,涉及计算机技术领域,本发明的主要目的在于从多个维度描述内存工作状态所对应的特征,以此预测内存是否存在故障风险。本发明主要的技术方案为:获取设备的异常日志;基于所述异常日志中的内存异常日志按照预设时间段分析所述内存异常日志的时序变化特征;基于所述异常日志中内存错误的地址信息统计所述设备中内存的运行状态特征;将所述时序变化特征与运行状态特征融合为内存故障预警特征;利用预警模型处理所述内存故障预警特征,得到所述设备的内存预警信息。
Description
技术领域
本发明涉及计算机技术领域,尤其涉及一种内存故障的预警方法及装置。
背景技术
在大规模数据中心中,维护服务器稳定性是至关重要的,其中,内存故障会导致服务器性能下降甚至引发宕机,极大影响服务器的可靠性。而主动容错技术是提高数据中心和系统稳定性的重要手段,故障预测作为主动容错技术的重要方面,研究通过监控服务器当前以及历史的状态判断其是否会在未来一定时间内发生失效,从而提高系统可靠性。
由于内存故障导致宕机的比例已经超过其他硬件故障比例,如CPU、硬盘等故障造成的宕机,因此,准确的预警内存故障,从而进行业务迁移,可有效的降低服务器不可用带来的损失同时提升系统可靠性。目前,内存故障预警主要是基于对机器的异常日志进行分析,预测内存在未来一段时间内的工作状态。但是,由于异常日志中并非是全部是内存异常的日志,同时,基于大量异常日志的解析对计算资源的要求较高,因此,现有的内存故障预警方案的预测准确性以及适用的场景都存在一定的缺陷,亟需一种更为高效准确的内存故障预警解决方案。
发明内容
鉴于上述问题,本发明提出了一种内存故障的预警方法及装置,主要目的在于从多个维度描述内存工作状态所对应的特征,以此预测内存是否存在故障风险。
为达到上述目的,本发明主要提供如下技术方案:
一方面,本发明提供一种内存故障的预警方法,具体包括:
获取设备的异常日志;
基于所述异常日志中的内存异常日志按照预设时间段分析所述内存异常日志的时序变化特征;
基于所述异常日志中内存错误的地址信息统计所述设备中内存的运行状态特征;
将所述时序变化特征与运行状态特征融合为内存故障预警特征;
利用预警模型处理所述内存故障预警特征,得到所述设备的内存预警信息。
另一方面,本发明提供一种内存故障的预警装置,具体包括:
获取单元,用于获取设备的异常日志;
第一确定单元,用于基于所述获取单元得到的异常日志中的内存异常日志按照预设时间段分析所述内存异常日志的时序变化特征;
第二确定单元,用于基于所述获取单元得到的异常日志中内存错误的地址信息统计所述设备中内存的运行状态特征;
融合单元,用于将所述第一确定单元得到的时序变化特征与第二确定单元得到的运行状态特征融合为内存故障预警特征;
预警单元,用于利用预警模型处理所述融合单元得到的内存故障预警特征,得到所述设备的内存预警信息。
另一方面,本发明提供一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行上述的内存故障的预警方法。
借由上述技术方案,本发明提供的一种内存故障的预警方法及装置,是基于对异常日志的解析,从不同的维度来构造内存故障预警特征,该内存故障预警特征由时序变化特征与运行状态特征相融合构成,其中,时序变化特征是利用预设时间段分析内存异常日志得到的,其是从宏观角度来描述设备内存的状态,运行状态特征是利用内存错误的地址信息分析得到的,其是从微观角度来描述设备内存的状态。可见,该内存故障预警特征是结合了宏观与微观维度的特征,使得特征描述更为丰富,从而让预警模型能够更准确地预测设备内存发生故障的风险。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本发明实施例提出的一种内存故障的预警方法的流程图;
图2示出了本发明实施例中构建时序变化特征过程的流程图;
图3示出了本发明实施例中筛选内存异常日志过程的流程图;
图4示出了本发明实施例构建运行状态特征过程的流程图;
图5示出了本发明实施例中的内存故障报警界面示意图;
图6示出了本发明实施例提出的一种内存故障的预警装置的组成框图;
图7示出了本发明实施例提出的另一种内存故障的预警装置的组成框图。
具体实施方式
下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。
本发明实施例提供的一种内存故障的预警方法,可以应用于各种设备,基于设备的异常日志信息进行内存状态的监控以及预警,预防设备因内存故障导致的服务器不可用的问题。具体的,本方法的预警步骤如图1所示,包括:
步骤101、获取设备的异常日志。
设备在运行过程中会产生大量的日志信息,其中,异常日志记录了设备在运行过程中发生的各类型异常事件。这些异常日志的内容与设备的故障之间潜在的关联关系,通过分析异常日志可以预测设备在未来一点时间段内可能发生的故障。本实施例就是基于异常日志对设备的内存故障进行预警。
本步骤中的异常日志主要从kern log(包含内核产生的日志),dmesg log(包含内核缓冲信息的日志),messages(包括整体系统信息以及系统启动期间的日志),comman log(通过带外采集到的内核日志),sel log(系统事件日志)等多个日志源中采集得到的。这些异常日志若直接用于预警将会造成大量的虚警,因此需要对这些异常日志进行解析后,根据得到的内容构建预警所需的特征由预测模型进行故障预警。
步骤102、基于异常日志中的内存异常日志按照预设时间段分析该内存异常日志的时序变化特征。
本步骤中的时序变化特征是利用异常日志从宏观角度来构建用于内存预警的特征。通过从异常日志中筛选出对内存故障具有判别能力的内存异常日志,并统计内存异常日志在不同时间段的分布情况,以此构建出内存故障与内存异常日志的数量之间的时序变化特征,用于预测设备内存在未来一定时间内发生故障的风险概率。
其中,预设时间段的设置可根据所预测未来时间的长度以及精度确定,预测的长度越大,精度越高,其所需要的统计的已有数据量也就越大,所设置的预设时间段也就应含有更多数量的内存异常日志。
此外,本步骤中的内存异常日志是指对内存故障具有判别能力的异常日志,其获取方式可以通过预设的日志模版从异常日志中进行筛选,也可以通过其他筛选方式获取,比如人工标注,本实施例对此不做具体限定。
步骤103、基于异常日志中内存错误的地址信息统计设备中内存的运行状态特征。
本步骤中的运行状态特征是利用异常日志从微观角度来构建用于内存预警的特征。通过异常日志中内存错误的地址信息统计物理内存中存在报错的内存颗粒,基于这些内存颗粒构建的特征可以有效描述设备存在的运行状态,并预测是否存在出现物理故障的内存颗粒,进而预测设备内存是否存在故障风险。
本步骤中的内存错误是指可以由CPU进行纠正,不会影响系统任何进行的报错信息,即corrected memory error,CE信息。内存错误的地址信息即为CE地址,是经过解析后得到的发生CE的内存地址。
具体的,本步骤中的运行状态特征是基于CE地址以及数量,通过多种预设指标所构建的综合特征,其具体的构建的方式需要根据具体的应用场景而确定对应的预设指标,因此,本步骤对此不做具体限定。
需要说明的是,本步骤与上一步骤102在实际执行过程中并不存在逻辑上的先后关系。
步骤104、将时序变化特征与运行状态特征融合为内存故障预警特征。
本步骤是将上述得到的宏观特征与微观特征进行融合,得到描述内容更丰富的特征,即内存故障预警特征。
本步骤对融合方式不做限定,可以是通过将特征向量化表示后进行向量拼接,也可以是通过融合算法对特征进行融合,即通过预设的融合模型实现,如基于线性特征依赖模型的特征融合算法、基于稀疏表示理论的特征融合算法等,其是根据具体的应用场景以及需求而确定的。
步骤105、利用预警模型处理内存故障预警特征,得到设备的内存预警信息。
通过上述图1所示实施例中的各步骤可知,本发明实施例是基于异常日志的解析,从宏观与微观两个不同的维度来构建用于预测内存故障的特征,并将得到特征进行融合,构成内存故障预警特征,再利用预警模型进行预测。由于本发明中所应用的内存故障预警特征结合了不同维度的特征,使得该内存故障预警特征所描述的设备内存状态更为丰富,因此,可以得到更加精准的预警信息。
进一步的,上述实施例中主要是通过从宏观与微观两个不同维度的特征来描述内存状态,但本发明并不限定所融合的维度特征数量,也就是说,还可以综合更多不同维度的特征来描述内存状态,进而对内存故障进行预警。需要说明的是,不过维度的特征主要提取自异常日志,但也可以来源于其他数据渠道,对此,本发明实施例不做具体限定。目前,常见的用于预测内存故障的参数还包括内存温度,在本发明的另一可行实施例中,还可以从异常日志中提取内存温度异常日志,得到内存对应的温度异常特征,由于温度的变化具有一定的线性规律,以此,通过温度异常日志所统计的温度异常特征可以对内存未来一段时间的温度变化进行预测,使得该温度异常特征对内存故障的预警具有一定的参考价值。基于此,可以进一步的将温度异常特征与上述时序变化特征、运行状态特征融合为内存故障预警特征,进而对设备内存的故障风险进行预测。
根据上述实施例说明的本发明技术方案可知,其重点在于利用异常日志从宏观与微观不同维度来构建用于预测内存故障的特征,即步骤102与步骤103,以下将进一步针对图1所示实施例中的上述步骤逐一说明其优选实施方式:
首先,针对步骤102,基于异常日志中的内存异常日志按照预设时间段分析所述内存异常日志的时序变化特征,即从宏观角度构建的特征,其具体构建过程如图2所示,包括:
步骤201、设置多个时间窗口。
其中,该时间窗口用于指定时间段。所设置的多个时间窗口可以是自定义设置的;也可以是通过指定一个较长的时间段,基于滑窗算法确定对应的多个时间窗口。
步骤202、利用内存异常日志模版从异常日志中筛选对应类型的内存异常日志。
本步骤中的内存异常日志模版是基于异常日志的解析、抽象得到的日志模版。通过该内存异常日志模版所筛选得到的具有判别内存故障的内存异常日志。
具体的,本步骤的具体实现方式如图3所示,包括:
步骤301、根据异常日志的内容确定异常日志模版。
本步骤是基于对异常日志的解析内容抽象出对应的异常日志模版,该异常日志模版可以用于结构化表示异常日志,以便于异常日志后续处理。该异常日志模版的抽象过程包括:
首先,对异常日志按照预设分类进行筛选。
该筛选是对异常日志的预处理过程,由于异常日志的种类众多,而涉及内存故障的日志主要集中于指定的几种类别中,因此,将这几种类别作为预设分类筛选异常日志就可以有效减少所要分析的日志数量,提高计算效率。
此外,对异常日志的预处理还包括对筛选出的异常日志的信息过滤处理,比如,通过正则表达式去除异常日志的内容中的无关字符、符号等,以此提高异常日志的信息有效性。
其次,利用解析树确定筛选后的异常日志所属的类型。
本实施例中的解析树是利用树结构的启发式算法表达筛选后的异常日志,从而有效提取日志模版。该解析树为m叉树,其具体定义为:m叉树每一个节点最多有m个子节点;对于一个高度为h的m叉树,叶子结点的最大数量是mh;每个节点中的键值按升序排列。解析树根节点和内部节点用于搜索,叶子节点储存日志,每个叶子节点对应一种类型;每一层内部节点的搜索可根据一定的预设规则切割节点,规则分为离散型规则以及连续型规则。也就是说,解析树是根据层级预设规则以及日志内容对异常日志进行分割归类。对于连续型规则,其分类是根据日志内容映射到对应的连续区间内,区间的数量对应于所划分的类别,根据所映射的区间确定异常日志所对应的分类。对于离散型规则,是先定义若干的分类,并定义每个分类中所内容,通过匹配日志内容来确定其所对应的分类。
通过解析树的处理,可以将异常日志划分到叶子节点,该叶子节点可以是已有的节点,也可以是新建的叶子节点。对此,解析树的处理过程是先将异常日志按照各个层级的预设规则将其划分到已有的一个叶子节点中,即将该异常日志的类型确定为一个已有的类型;之后,判断该已有类型所对应日志的内容是否与该异常日志的内容足够近似,这里可通过计算两者的相似度确定,本实施例中,异常日志的内容可以理解为是由多个日志序列单元字串(token)构成的,如此,对比两个异常日志的相似度可以转化为对比异常日志中对应位置的token。其相似度计算公式如下:
其中,seq1代表当前所处理的异常日志,seq2代表叶子节点中储存的多个异常日志,seq(i)表示日志内容里的第i个token,n为日志内容的长度,token的相似度计算公式如下:
其中,t表示token的值。
通过上述的公式可以计算出异常日志与叶子节点中的日志的相似度,当该相似度大于阈值时,则将该异常日志归属于该叶子节点,并确定其对应的类型,否则,创建新的叶子节点,并根据该异常日志的内容确定新叶子节点所对应的类型,即根据异常日志中token的序列确定一个新类型。
再次,根据类型匹配日志模版。
本实施例中,不同的类型对应有不同的日志模版,即经过上述步骤的处理,解析树会将异常日志划分为多个类型,也就是多个叶子节点。不同的类型中,其日志中token的序列是不同的,基于此可以匹配出不同的日志模块。
最后,根据日志模版之间的相似度进行聚类处理,得到异常日志对应的异常日志模版。
这是为了避免过度解析或存在不符合解析树分割规则的结果而执行的对日志模版进一步结构化的处理。为此,将上述得到的日志模版进行聚类,通过计算日志模版之间的相似度,采用层级聚类或均值聚类等聚类方式合并近似的日志模版,从而得到最终的异常日志模版。
具体的,本实施例中采用曼哈顿距离评估日志模版a与b之间的相似度,公式如下:
其中,N为异常日志a、b中token的数量,ai表示第i个token在a出现的次数,当d(a,b)小于预设的最大距离阈值时,合并a、b两个日志模版,得到一个新的异常日志模版。
步骤302、利用异常日志中标注的内存异常日志从异常日志模版中筛选内存异常日志模版。
本步骤是对异常日志模版进行显著性分析,以使得到的内存异常日志模版能够有效地筛选出具有判别内存故障能力的内存异常日志。
具体的筛选过程如下:
首先,获取异常日志模版的序列类型,即确定每个异常日志模版的序列类型,该序列类型是根据异常日志聚合的粒度与异常日志模版相匹配所确定的,也可以人工设置,其分为离散型序列与连续型序列。
其次,根据序列类型选择对应的方式筛选内存异常日志模版。
当序列类型为离散型序列时,根据标注的内存异常日志的内容采用卡方检验,以判断异常日志模版是否为内存异常日志模版;其中,标注的内存异常日志的内容是指在异常日志中标注有该日志与内存故障相关联的标注信息,该标注信息需要预先在异常日志中进行标注。
当序列类型为连续型序列时,根据标注的内存异常日志在同一类型的异常日志的分布进行K-S检验,以判断异常日志模版是否为内存异常日志模版。
步骤303、从异常日志中查找符合内存异常日志模版的日志,作为内存异常日志。
本步骤是利用内存异常日志模版对异常日志进行进一步的筛选,以得到与内存故障具有关联关系的内存异常日志。
以上图3所示的各步骤是基于显著性分析对异常日志进行的解析以及筛选,从中得到不同类型的内存异常日志,其中,内存异常日志的类型即为内存异常日志模版所对应的类型,也就是对应的解析树中的叶子节点的类型。
步骤203、针对每个时间窗口统计不同类型的内存异常日志的数量。
不同的时间窗口对应于不同的时间段,本步骤是按照内存异常日志的类型以及时间窗口进行数量统计。由于设备的内存在从正常到异常状态时,其对应的异常日志的数量也会随之发生浮动变化,因此,通过对不同时间窗口的数量统计有助于分析设备内存的状态变化规律。
步骤204、采用预设统计算法对多个时间窗口中内存异常日志的数量计算统计值,得到时序变化特征。
其中,预设统计算法是根据实际应用的需求进行设置的,一般会设置多种统计算法,不同的统计算法所对应的统计值代表了不同含义的特征指标,常用的统计算法如:std标准差,median中间值,diff窗口差值,entropy熵,skew偏差,kurtosis峰度,等。最终,时序变化特征就是基于不同时间窗口中的多组统计值构成的,比如,采用5中统计算法分别对两个时间窗口中的内存异常日志的数量进行统计,会得到10个统计值,那么,时序变化特征就是由这10个统计值作为特征指标所构成的。该时序变化特征可以描述设备的内存在一定时间段内的运行情况。
进一步的,针对图1所示的步骤103,基于异常日志中内存错误的地址信息统计设备中内存的运行状态特征,即从微观角度构建的特征,其具体构建过程如图4所示,包括:
步骤401、从异常日志中按照预设的时间窗口提取内存错误的地址信息。
在本步骤中,预设的时间窗口包括当前时间窗口与历史时间窗口,其中,当前时间窗口是基于当前时间定义的时间段,历史时间窗口是基于当前时间窗口而定义的另一个时间段,比如,当前时刻点为T,从T时刻往前推c小时,构造出当前时间窗口C[T-c,T],而从T-c时刻再往前推h小时,构造历史数据时间窗口H为[T-c-h,T-c]。
根据上述构造的时间窗口获取发生在对应时间窗口中的内存错误的地址信息,即CE地址信息。
步骤402、根据地址信息统计设备内存中的异常内存颗粒。
设备内存的物理结构是由众多的内存颗粒所组成的,常规的一条内存条中一般包含有多个内存库,每个内存库中的内存颗粒以矩阵形式排列,每个内存颗粒都具有对应的位置信息,即内存的地址信息。
本步骤中的异常内存颗粒是指存在故障风险的内存颗粒。该异常内存颗粒具体包括弱颗粒、弱内存行、弱内存列、邻近弱颗粒。
具体的,弱颗粒是指在当前时间窗口中存在至少两条同一地址信息对应的内存颗粒以及在当前时间窗口与历史时间窗口中都存在至少一条同一地址信息对应的内存颗粒。即,当前时间窗口C中具有两条及以上CE的内存颗粒,或者是在当前时间窗口C中值出现一条CE,并且在历史时间窗口H中同一位置也出现过CE的内存颗粒,就可以定义为弱颗粒。
弱内存行与弱内存列是指含有至少一个上述弱颗粒的内存行或内存列,以及在当前时间窗口与历史时间窗口中位于同一内存行或列内都存在至少一条地址信息的内存行或列,即,同一个内存行或内存列中的不同内存颗粒在时间窗口C和H中分别发生有CE信息。
邻近弱颗粒是指根据确定的所述弱内存行或弱内存列,在预设范围内查找当前时间窗口内存在的地址信息,该地址信息所对应的内存颗粒即为邻近弱颗粒。邻近弱颗粒可以体现内存错误会沿着同行或同列蔓延的特性。而预设范围是根据实际需求而设置行或列的查询区间,比如,弱内存行为第10行内存颗粒,预设范围是上下4行,那么邻近弱颗粒就是在第6-9行内存颗粒与第11-14行内存颗粒中存在CE信息且还未形成弱颗粒的内存颗粒。
步骤403、根据异常内存颗粒以及预设指标统计设备内存的运行状态特征。
本步骤中构成运行状态特征的预设指标包括:散乱度、行错误、列错误、小区域错误、单比特错误。
其中,所述散乱度为弱颗粒的数量,所述行错误为弱内存行中存在的地址信息的数量,所述列错误为弱内存列中存在的地址信息的数量,所述小区域错误为邻近弱颗粒的数量,所述单比特错误为在弱颗粒中存在的地址信息数量大于阈值的内存颗粒的数量。
进一步的,针对图1所示实施例中的步骤104,将时序变化特征与运行状态特征融合为内存故障预警特征,本实施例的优选融合方式为:将时序变化特征与运行状态特征进行向量化表示,该向量化表示可以在上述图2与图4所示的构建特征的过程中直接将特征进行向量化表示;之后,将时序变化特征与运行状态特征对应的向量进行拼接,得到内存故障预警特征的向量表示。
进一步的,在上述实施例得到内存预警信息的基础上,本发明实施例还可以根据该内存预警信息对设备内存进行优化处理,以避免该设备内存出现故障。具体的,可以先根据设备的内存预警信息确定出存在故障风险的目标内存,在基于内存预警信息中对内存故障的描述信息确定出对应的故障优化策略,即对内存进行何种方式的优化,其中,对于具体的内存优化方式包括但不限于调整高速缓存区域的大小、释放内存空间、优化内存中的数据等等。之后,再基于所确定的故障优化策略对目标内存进行优化处理,以此避免该内存出现所预测的故障。
需要说明的是,该优化处理操作可以是由人工根据内存预警信息来确定是否执行,也可以是在确定出内存预警信息后自动执行对应的内存优化操作。
进一步的,为了能够有效提示内存预警信息,本发明实施例还可以在上述实施例得到内存预警信息的基础上,通过可视化的故障报警界面将内存预警信息进行展示,以提示相关维护人员进行内存优化。具体的,该故障报警界面如图5所示,其中,内存预警信息以列表的形式进行排列展示,其展示顺序可以是按照预测信息的生成时间,也可以是按照所预测目标内存发生故障的时间进行排序。同时,在所展示的每一条内存预警信息中,还对应显示有针对该内存预警信息的优化处理按键,该优化处理按键用于执行所述内存预警信息对应的故障优化策略。并且,该优化处理按键是在用户选中某一内存预警信息时,才会将对应的优化处理按键显示为可操作状态,即用户只有在选中一条内存预警信息后,才可以执行对应的内存优化操作。进一步的,对于用户选择内存预警信息也可以设置有对应的批量选择按键。进而,在用户选择针对目标内存完成优化处理后,该故障报警界面还可以将对应的内存预警信息删除。
进一步的,作为对上述图1-4所示方法的实现,本发明实施例提供了一种内存故障的预警装置,该装置主要目的在于从多个维度描述内存工作状态所对应的特征,以此预测内存是否存在故障风险。为便于阅读,本装置实施例不再对前述方法实施例中的细节内容进行逐一赘述,但应当明确,本实施例中的装置能够对应实现前述方法实施例中的全部内容。该装置如图6所示,具体包括:
获取单元51,用于获取设备的异常日志;
第一确定单元52,用于基于所述获取单元51得到的异常日志中的内存异常日志按照预设时间段分析所述内存异常日志的时序变化特征;
第二确定单元53,用于基于所述获取单元51得到的异常日志中内存错误的地址信息统计所述设备内存的运行状态特征;
融合单元54,用于将所述第一确定单元52得到的时序变化特征与第二确定单元53得到的运行状态特征融合为内存故障预警特征;
预警单元55,用于利用预警模型处理所述融合单元54得到的内存故障预警特征,得到所述设备的内存预警信息。
进一步的,如图7所示,所述第一确定单元52包括:
设置模块521,用于设置多个时间窗口;
筛选模块522,用于利用内存异常日志模版从异常日志中筛选对应类型的内存异常日志;
统计模块523,用于针对每个所述设置模块521设置的时间窗口统计所述筛选模块522得到的不同类型的内存异常日志的数量;
特征构建模块524,用于采用预设统计算法对所述多个时间窗口中由所述统计模块523得到的内存异常日志的数量计算统计值,得到所述时序变化特征。
进一步的,如图7所示,所述筛选模块522包括:
确定子模块5221,用于根据异常日志的内容确定异常日志模版,所述异常日志模版用于结构化表示所述异常日志的内容;
筛选子模块5222,用于利用异常日志中标注的内存异常日志从所述确定子模块5221确定的异常日志模版中筛选内存异常日志模版;
匹配子模块5223,用于从所述异常日志中查找符合所述筛选子模块5222得到的内存异常日志模版的日志,作为所述内存异常日志。
进一步的,所述确定子模块5221具体用于:
对所述异常日志按照预设分类进行筛选;
利用解析树确定筛选后的异常日志所属的类型,所述解析树用于根据层级预设规则以及日志内容对异常日志进行分割,所述解析树的根节点与内部节点用于搜索,叶子节点用于存储日志,每个叶子节点对应一种类型;
根据所述类型匹配日志模版;
根据所述日志模版之间的相似度进行聚类处理,得到所述异常日志对应的异常日志模版。
进一步的,所述确定子模块5221在执行利用解析树确定筛选后的异常日志所属的类型的操作时,具体包括:
判断所述类型中已有日志的内容与所述异常日志的内容的相似度;
若所述相似度大于阈值,则将所述异常日志归属于所述类型对应的叶子节点;
若所述相似度小于等于所述阈值,则创建新的叶子节点,并根据所述异常日志的内容确定所述叶子节点对应的类型。
进一步的,所述筛选子模块5222具体用于:
获取所述异常日志模版的序列类型,所述序列类型包括离散型序列与连续型序列;
若为离散型序列,则根据标注的内存异常日志的内容采用卡方检验,以判断异常日志模版是否为内存异常日志模版;
若为连续型序列,则根据标注的内存异常日志在同一类型的异常日志的分布进行K-S检验,以判断异常日志模版是否为内存异常日志模版。
进一步的,如图7所示,所述第二确定单元53包括:
提取模块531,用于从异常日志中按照预设的时间窗口提取内存错误的地址信息;
统计模块532,用于根据所述提取模块531得到的地址信息统计所述设备内存中的异常内存颗粒;
特征构建模块533,用于根据所述统计模块532得到的异常内存颗粒以及预设指标统计所述设备内存的运行状态特征。
进一步的,所述预设的时间窗口包括当前时间窗口与历史时间窗口;所述统计模块532具体用于:
将在当前时间窗口中存在至少两条同一地址信息对应的内存颗粒以及在当前时间窗口与历史时间窗口中都存在至少一条同一地址信息对应的内存颗粒确定为弱颗粒;
将含有至少一个所述弱颗粒的内存行或内存列以及在当前时间窗口与历史时间窗口中位于同一内存行或列内都存在至少一条地址信息的内存行或列,确定为弱内存行或弱内存列;
根据确定的所述弱内存行或弱内存列,在预设范围内查找当前时间窗口内存在的地址信息,将所述地址信息对应的内存颗粒确定为邻近弱颗粒;
将所述弱颗粒、弱内存行、弱内存列、邻近弱颗粒确定为异常内存颗粒。
进一步的,所述特征构建模块533中的预设指标包括:散乱度、行错误、列错误、小区域错误、单比特错误;
其中,所述散乱度为弱颗粒的数量,所述行错误为弱内存行中存在的地址信息的数量,所述列错误为弱内存列中存在的地址信息的数量,所述小区域错误为邻近弱颗粒的数量,所述单比特错误为在弱颗粒中存在的地址信息数量大于阈值的内存颗粒的数量。
进一步的,如图7所示,所述融合单元54包括:
向量化模块541,用于将所述时序变化特征与运行状态特征进行向量化表示;
拼接模块542,用于将所述向量化模块541得到的时序变化特征与运行状态特征对应的向量进行拼接,得到所述内存故障预警特征。
进一步的,如图7所示,所述装置还包括:
第三确定单元56,用于从所述异常日志中提取内存温度异常日志,得到内存对应的温度异常特征;
所述融合单元54还用于,将所述第三确定单元56得到的温度异常特征与所述时序变化特征、运行状态特征融合为内存故障预警特征。
进一步的,如图7所示,所述装置还包括:
内存优化单元57,用于根据所述预警单元55得到的设备的内存预警信息确定存在故障风险的目标内存以及对应的故障优化策略;根据所述故障优化策略对所述目标内存进行优化处理。
进一步的,如图7所示,所述装置还包括:
信息展示单元58,用于在故障报警界面中展示所述预警单元55得到的设备的内存预警信息;
所述信息展示单元58还用于,根据用户选中的内存预警信息在故障报警界面中显示对应的优化处理按键,所述优化处理按键用于执行所述内存预警信息对应的故障优化策略。
进一步的,如图7所示,所述信息展示单元58还用于,在完成对目标内存的优化处理后,将所述故障报警界面中对应的内存预警信息删除。
另外,本发明实施例还提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行上述任意一个实施例提供的内存故障的预警方法。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
可以理解的是,上述方法及装置中的相关特征可以相互参考。另外,上述实施例中的“第一”、“第二”等是用于区分各实施例,而并不代表各实施例的优劣。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的较佳实施方式。
此外,存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (16)
1.一种内存故障的预警方法,所述方法包括:
获取设备的异常日志;
基于所述异常日志中的内存异常日志按照预设时间段分析所述内存异常日志的时序变化特征;
基于所述异常日志中内存错误的地址信息统计所述设备中内存的运行状态特征;
将所述时序变化特征与运行状态特征融合为内存故障预警特征;
利用预警模型处理所述内存故障预警特征,得到所述设备的内存预警信息。
2.根据权利要求1所述的方法,其特征在于,基于所述异常日志中的内存异常日志按照预设时间段分析所述内存异常日志的时序变化特征,包括:
设置多个时间窗口;
利用内存异常日志模版从异常日志中筛选对应类型的内存异常日志;
针对每个时间窗口统计不同类型的内存异常日志的数量;
采用预设统计算法对所述多个时间窗口中内存异常日志的数量计算统计值,得到所述时序变化特征。
3.根据权利要求2所述的方法,其特征在于,利用内存异常日志模版从异常日志中筛选对应类型的内存异常日志,包括:
根据异常日志的内容确定异常日志模版,所述异常日志模版用于结构化表示所述异常日志的内容;
利用异常日志中标注的内存异常日志从所述异常日志模版中筛选内存异常日志模版;
从所述异常日志中查找符合所述内存异常日志模版的日志,作为所述内存异常日志。
4.根据权利要求3所述的方法,特征在于,所述根据异常日志的内容确定异常日志模版,包括:
对所述异常日志按照预设分类进行筛选;
利用解析树确定筛选后的异常日志所属的类型,所述解析树用于根据层级预设规则以及日志内容对异常日志进行分割,所述解析树的根节点与内部节点用于搜索,叶子节点用于存储日志,每个叶子节点对应一种类型;
根据所述类型匹配日志模版;
根据所述日志模版之间的相似度进行聚类处理,得到所述异常日志对应的异常日志模版。
5.根据权利要求4所述的方法,其特征在于,所述利用解析树确定筛选后的异常日志所属的类型,包括:
判断所述类型中已有日志的内容与所述异常日志的内容的相似度;
若所述相似度大于阈值,则将所述异常日志归属于所述类型对应的叶子节点;
若所述相似度小于等于所述阈值,则创建新的叶子节点,并根据所述异常日志的内容确定所述叶子节点对应的类型。
6.根据权利要求3所述的方法,其特征在于,利用异常日志中标注的内存异常日志从所述异常日志模版中筛选内存异常日志模版,包括:
获取所述异常日志模版的序列类型,所述序列类型包括离散型序列与连续型序列;
若为离散型序列,则根据标注的内存异常日志的内容采用卡方检验,以判断异常日志模版是否为内存异常日志模版;
若为连续型序列,则根据标注的内存异常日志在同一类型的异常日志的分布进行K-S检验,以判断异常日志模版是否为内存异常日志模版。
7.根据权利要求1所述的方法,其特征在于,基于所述异常日志中内存错误的地址信息统计所述设备中内存的运行状态特征,包括:
从异常日志中按照预设的时间窗口提取内存错误的地址信息;
根据所述地址信息统计所述设备内存中的异常内存颗粒;
根据所述异常内存颗粒以及预设指标统计所述设备内存的运行状态特征。
8.根据权利要求7所述的方法,其特征在于,所述预设的时间窗口包括当前时间窗口与历史时间窗口;所述根据所述地址信息统计所述设备内存中的异常内存颗粒,包括:
将在当前时间窗口中存在至少两条同一地址信息对应的内存颗粒以及在当前时间窗口与历史时间窗口中都存在至少一条同一地址信息对应的内存颗粒确定为弱颗粒;
将含有至少一个所述弱颗粒的内存行或内存列以及在当前时间窗口与历史时间窗口中位于同一内存行或列内都存在至少一条地址信息的内存行或列,确定为弱内存行或弱内存列;
根据确定的所述弱内存行或弱内存列,在预设范围内查找当前时间窗口内存在的地址信息,将所述地址信息对应的内存颗粒确定为邻近弱颗粒;
将所述弱颗粒、弱内存行、弱内存列、邻近弱颗粒确定为异常内存颗粒。
9.根据权利要求8所述的方法,其特征在于,所述预设指标包括:散乱度、行错误、列错误、小区域错误、单比特错误;
其中,所述散乱度为弱颗粒的数量,所述行错误为弱内存行中存在的地址信息的数量,所述列错误为弱内存列中存在的地址信息的数量,所述小区域错误为邻近弱颗粒的数量,所述单比特错误为在弱颗粒中存在的地址信息数量大于阈值的内存颗粒的数量。
10.根据权利要求1-9中任一项所述的方法,其特征在于,将所述时序变化特征与运行状态特征融合为内存故障预警特征,包括:
将所述时序变化特征与运行状态特征进行向量化表示;
将时序变化特征与运行状态特征对应的向量进行拼接,得到所述内存故障预警特征。
11.根据权利要求1所述的方法,其特征在于,所述方法还包括:
从所述异常日志中提取内存温度异常日志,得到内存对应的温度异常特征;
将所述温度异常特征与所述时序变化特征、运行状态特征融合为内存故障预警特征。
12.根据权利要求1所述的方法,其特征在于,所述方法还包括:
根据所述设备的内存预警信息确定存在故障风险的目标内存以及对应的故障优化策略;
根据所述故障优化策略对所述目标内存进行优化处理。
13.根据权利要求12所述的方法,其特征在于,所述方法还包括:
在故障报警界面中展示所述设备的内存预警信息;
根据用户选中的内存预警信息在故障报警界面中显示对应的优化处理按键,所述优化处理按键用于执行所述内存预警信息对应的故障优化策略。
14.根据权利要求13所述的方法,其特征在于,所述方法还包括:
在完成对目标内存的优化处理后,将所述故障报警界面中对应的内存预警信息删除。
15.一种内存故障的预警装置,所述方法包括:
获取单元,用于获取设备的异常日志;
第一确定单元,用于基于所述获取单元得到的异常日志中的内存异常日志按照预设时间段分析所述内存异常日志的时序变化特征;
第二确定单元,用于基于所述获取单元得到的异常日志中内存错误的地址信息统计所述设备中内存的运行状态特征;
融合单元,用于将所述第一确定单元得到的时序变化特征与第二确定单元得到的运行状态特征融合为内存故障预警特征;
预警单元,用于利用预警模型处理所述融合单元得到的内存故障预警特征,得到所述设备的内存预警信息。
16.一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时执行权利要求1-14中任意一项权利要求所述的内存故障的预警方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010767747.5A CN113297046A (zh) | 2020-08-03 | 2020-08-03 | 一种内存故障的预警方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010767747.5A CN113297046A (zh) | 2020-08-03 | 2020-08-03 | 一种内存故障的预警方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113297046A true CN113297046A (zh) | 2021-08-24 |
Family
ID=77318225
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010767747.5A Pending CN113297046A (zh) | 2020-08-03 | 2020-08-03 | 一种内存故障的预警方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113297046A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114003461A (zh) * | 2021-09-26 | 2022-02-01 | 苏州浪潮智能科技有限公司 | 服务器故障预测方法、系统、终端及存储介质 |
CN115543665A (zh) * | 2022-09-23 | 2022-12-30 | 超聚变数字技术有限公司 | 一种内存可靠性评估方法、装置及存储介质 |
WO2023030371A1 (zh) * | 2021-09-02 | 2023-03-09 | 华为技术有限公司 | 内存链路故障检测方法,装置及相关设备 |
WO2023061209A1 (zh) * | 2021-10-12 | 2023-04-20 | 中兴通讯股份有限公司 | 内存故障的预测方法、电子设备和计算机可读存储介质 |
-
2020
- 2020-08-03 CN CN202010767747.5A patent/CN113297046A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023030371A1 (zh) * | 2021-09-02 | 2023-03-09 | 华为技术有限公司 | 内存链路故障检测方法,装置及相关设备 |
CN114003461A (zh) * | 2021-09-26 | 2022-02-01 | 苏州浪潮智能科技有限公司 | 服务器故障预测方法、系统、终端及存储介质 |
WO2023061209A1 (zh) * | 2021-10-12 | 2023-04-20 | 中兴通讯股份有限公司 | 内存故障的预测方法、电子设备和计算机可读存储介质 |
CN115543665A (zh) * | 2022-09-23 | 2022-12-30 | 超聚变数字技术有限公司 | 一种内存可靠性评估方法、装置及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113297046A (zh) | 一种内存故障的预警方法及装置 | |
Manco et al. | Fault detection and explanation through big data analysis on sensor streams | |
KR101984730B1 (ko) | 서버 장애 자동 예측 시스템 및 자동 예측 방법 | |
CN108475287B (zh) | 用于流数据的离群值检测 | |
CN110058977B (zh) | 基于流式处理的监控指标异常检测方法、装置及设备 | |
CN109491850A (zh) | 一种磁盘故障预测方法及装置 | |
KR101948634B1 (ko) | 스마트 컴퓨팅을 위한 시스템 자원의 장애 예측 방법 | |
CN106844161A (zh) | 一种带状态流计算系统中的异常监控及预测方法和系统 | |
CN113254255B (zh) | 一种云平台日志的分析方法、系统、设备及介质 | |
WO2021002780A1 (ru) | Система мониторинга качества и процессов на базе машинного обучения | |
Ghiasvand et al. | Anomaly detection in high performance computers: A vicinity perspective | |
CN110535686B (zh) | 异常事件处理方法和装置 | |
CN113326064A (zh) | 划分业务逻辑模块的方法、电子设备及存储介质 | |
US12013855B2 (en) | Trimming blackhole clusters | |
CN116032725B (zh) | 故障根因定位模型的生成方法及装置 | |
CN110874601B (zh) | 识别设备运行状态的方法、状态识别模型训练方法及装置 | |
CN115238779B (zh) | 一种云盘的异常检测方法、装置、设备及介质 | |
CN113360313B (zh) | 一种基于海量系统日志的行为分析方法 | |
CN112819182B (zh) | 一种钞盒状态预测模型的训练方法、装置及设备 | |
CN115543671A (zh) | 数据分析方法、装置、设备、存储介质及程序产品 | |
CN115438244A (zh) | 一种数据库健康度评估方法及装置 | |
CN112732690B (zh) | 一种用于慢病检测及风险评估的稳定系统及方法 | |
CN114547406A (zh) | 数据监控方法、系统、存储介质及电子装置 | |
CN114398235A (zh) | 基于融合学习和假设检验的内存回收趋势预警装置及方法 | |
CN112882854B (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 | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: DE Ref document number: 40057993 Country of ref document: HK |