CN106201750A - 一种基于linux内存错误的处理方法及装置 - Google Patents

一种基于linux内存错误的处理方法及装置 Download PDF

Info

Publication number
CN106201750A
CN106201750A CN201610488004.8A CN201610488004A CN106201750A CN 106201750 A CN106201750 A CN 106201750A CN 201610488004 A CN201610488004 A CN 201610488004A CN 106201750 A CN106201750 A CN 106201750A
Authority
CN
China
Prior art keywords
event
memory
error
event type
frequency
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
Application number
CN201610488004.8A
Other languages
English (en)
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.)
Inspur Beijing Electronic Information Industry Co Ltd
Original Assignee
Inspur Beijing Electronic Information Industry 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 Inspur Beijing Electronic Information Industry Co Ltd filed Critical Inspur Beijing Electronic Information Industry Co Ltd
Priority to CN201610488004.8A priority Critical patent/CN106201750A/zh
Publication of CN106201750A publication Critical patent/CN106201750A/zh
Pending legal-status Critical Current

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/0706Error 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 the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0727Error 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 the processing taking place on a specific hardware platform or in a specific software environment in a storage system, e.g. in a DASD or network based storage system
    • 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/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/076Error or fault detection not based on redundancy by exceeding limits by exceeding a count or rate limit, e.g. word- or bit count limit
    • 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/0766Error or fault reporting or storing
    • G06F11/0787Storage of error reports, e.g. persistent data storage, storage using memory protection

Abstract

本发明公开了一种基于linux内存错误的处理方法,包括:分析内存事件源中错误事件的事件类型,分别统计每种事件类型的发生次数;将在第一预定时长内发生次数大于N的事件类型所对应的错误事件,标记为内存故障格式事件;其中,N为正整数;判断内存故障格式事件的事件类型是否为内存页面错误;若是,则调用内存页面离线接口对相应的故障内存页面进行离线操作。可见,在本实施例中,通过对内存事件源中的错误事件进行分类并处理,例如当事件类型为内存页面故障时,通过对故障内存页面进行离线操作,可以避免对计算机系统的影响;本发明还公开了一种基于linux内存错误的处理系统,同样能实现上述技术效果。

Description

一种基于linux内存错误的处理方法及装置
技术领域
本发明涉及错误诊断技术领域,更具体地说,涉及一种基于linux内存错误处理的方法及装置。
背景技术
随着时代的进步,互联网的快速发展,人们生活水平的提高,计算机已经成为人们不可或缺的一部分,无论是在工作、学习和生活中都离不开计算机,它存储着重要的数据,也可以进行复杂的计算。计算机的诞生给人们的生活带来了非常便捷的体验。计算机硬件系统是由运算器、控制器、存储器、输入设备和输出设备构成。计算机中的存储器分为内存和外存。内存用来存放当前正在使用的,或随时要用的程序和数据。一旦计算机内存出现错误或故障,会引起系统不能正常工作或宕机。
因此,如何对内存错误事件进行诊断及处理,避免由于内存出现错误或故障,会引起系统不能正常工作或宕机是本领域技术人员需要解决的问题。
发明内容
本发明的目的在于提供一种基于linux内存错误处理的方法及装置,以实现对内存错误事件进行诊断及处理,避免由于内存出现错误或故障,引起系统不能正常工作或宕机。
为实现上述目的,本发明实施例提供了如下技术方案:
一种基于linux内存错误的处理方法,包括:
分析内存事件源中错误事件的事件类型,分别统计每种事件类型的发生次数;
将在第一预定时长内发生次数大于N的事件类型所对应的错误事件,标记为内存故障格式事件;其中,N为正整数;
判断内存故障格式事件的事件类型是否为内存页面错误;
若是,则调用内存页面离线接口对相应的故障内存页面进行离线操作。
其中,所述分析内存事件源中错误事件的事件类型,分别统计每种事件类型的发生次数,包括:
触发计时器开始计时;
依次分析内存事件源中的错误事件的事件类型,并将每种事件类型的错误事件的发生次数记录到对应的计数器。
其中,所述将在第一预定时长内发生次数大于N的事件类型所对应的错误事件,标记为内存故障格式事件,包括:
若检测到所述计时器的计时时长为第一预定时长,则检测计数器中是否存在发生次数大于N次的事件类型;
若存在,则将所述事件类型对应的错误事件标记为内存故障格式事件。
其中,当所述计时器的计时时长为第一预定时长,且间隔第二预定时长后,重新触发所述计数器清零并开始计时,重新触发所述计数器清零并开始计时。
其中,将在第一预定时长内发生次数大于N的事件类型所对应的错误事件,标记为内存故障格式事件,包括:
将在24小时内发生次数大于3次的事件类型所对应的错误事件,标记为内存故障格式事件。
其中,还包括:
生成与所述内存故障格式事件相对应的日志文件。
一种基于linux内存错误的处理系统,包括:
分析模块,用于分析内存事件源中的错误事件的事件类型;
统计模块,用于分别统计每种事件类型的发生次数;
标记模块,用于将在第一预定时长内发生次数大于N的事件类型所对应的错误事件,标记为内存故障格式事件;其中,N为正整数;
判断模块,用于判断内存故障格式事件的事件类型是否为内存页面错误;若是,则触发执行模块;
所述执行模块,用于调用内存页面离线接口对相应的故障内存页面进行离线操作。
其中,所述统计模块包括:
计时模块,用于触发计时器开始计时;
计数模块,用于统计每种事件类型的发生次数,并记录到对应的计数器。
其中,所述标记模块用于检测到所述计时器的计时时长为第一预定时长时,且检测到计数器中存在发生次数大于N次的事件类型时,将所述事件类型对应的错误事件标记为内存故障格式事件
其中,还包括:
日志文件生成模块,用于生成与所述内存故障格式事件相对应的日志文件。
通过以上方案可知,本发明实施例提供的一种基于linux内存错误的处理方法,包括:分析内存事件源中错误事件的事件类型,分别统计每种事件类型的发生次数;将在第一预定时长内发生次数大于N的事件类型所对应的错误事件,标记为内存故障格式事件;其中,N为正整数;判断内存故障格式事件的事件类型是否为内存页面错误;若是,则调用内存页面离线接口对相应的故障内存页面进行离线操作。可见,在本实施例中,通过对内存事件源中的错误事件进行分类并处理,例如当事件类型为内存页面故障时,通过对故障内存页面进行离线操作,可以避免对计算机系统的影响;本发明还公开了一种基于linux内存错误的处理系统,同样能实现上述技术效果。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例公开的一种基于linux内存错误的处理方法流程示意图;
图2为本发明实施例公开的一种基于linux内存错误的处理系统结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例公开了一种基于linux内存错误处理的方法及装置,以实现对内存错误事件进行诊断及处理,避免由于内存出现错误或故障,引起系统不能正常工作或宕机。
参见图1,本发明实施例提供的一种基于linux内存错误的处理方法,包括:
S101、分析内存事件源中错误事件的事件类型,分别统计每种事件类型的发生次数;
其中,所述分析内存事件源中错误事件的事件类型,分别统计每种事件类型的发生次数,包括:
触发计时器开始计时;
依次分析内存事件源中的错误事件的事件类型,并将每种事件类型的错误事件的发生次数记录到对应的计数器。
具体的,在本实施例中统计每种事件类型的发生次数的同时需要计时;这里的统计每种事件类型的发生次数为:记录同一种类型的发生次数,例如:若依次分析出内存事件源中的错误事件的事件类型为:A,A,A,B,B,C,C,C,C,F;则每个事件类型的发生次数为:A的发生次数为3,B的发生次数为2,C的发生次数为4,F的发生次数为1。
S102、将在第一预定时长内发生次数大于N的事件类型所对应的错误事件,标记为内存故障格式事件;其中,N为正整数;
其中,所述将在第一预定时长内发生次数大于N的事件类型所对应的错误事件,标记为内存故障格式事件,包括:
若检测到所述计时器的计时时长为第一预定时长,则检测计数器中是否存在发生次数大于N次的事件类型;
若存在,则将所述事件类型对应的错误事件标记为内存故障格式事件。
具体的,在本实施例中根据内存事件源中的错误事件进行诊断,诊断原则是根据规则进行分析,规则是指在一定时间T内,若同一类事件发生N次,则说明会产生故障,则将内存错误事件标记为内存故障格式事件。
其中,将在第一预定时长内发生次数大于N的事件类型所对应的错误事件,标记为内存故障格式事件,包括:
将在24小时内发生次数大于3次的事件类型所对应的错误事件,标记为内存故障格式事件。
可以理解的是,上述的诊断原则可以根据用户的经验值进行设定,例如设定诊断原则为:engine serd.cpu.mem{N=3,T=24小时};即在24小时某类事件的发生次数为3。
例如在上文所记载的例子中,A的发生次数为3,B的发生次数为2,C的发生次数为4,F的发生次数为1,以上即为24小时内不同事件类型的发生次数;若设定N为3,可见,则只有事件类型为C的错误事件的发生次数大于3,则么将事件类型为C的错误事件标记为内存故障格式事件。
其中,当所述计时器的计时时长为第一预定时长,且间隔第二预定时长后,重新触发所述计数器清零并开始计时,重新触发所述计数器清零并开始计时。
可以理解的是,在本实施例中,检测第一预定时长为T后,可以停止第二预定时长之后,再进行检测,这里的第二预定时长可以自行设置;例如:若想时间间隔小,则设置第二预定时长为15s,若想时间间隔长,则可以设置预定时长为1小时。
S103、判断内存故障格式事件的事件类型是否为内存页面错误;
若是,则执行S104、调用内存页面离线接口对相应的故障内存页面进行离线操作。
具体的,若内存故障格式事件的事件类型不是内存页面错误,则可以生成一个相应的提示信息。
具体的,在本实施例中接收到内存故障格式事件后,根据事件类型调用处理接口,如内存页面错误调用内存页面离线接口进行离线处理。
基于上述技术方案,本方案还包括:
生成与所述内存故障格式事件相对应的日志文件。
具体的,为例清楚的了解内存出现的故障的具体信息,生成与内存故障格式事件所对应的日志文件;日志文件中至少包括了事件类型,事件发生次数、事件发生时间,事件如何处理等详细信息。
下面对本发明实施例提供的处理系统进行介绍,下文描述的处理系统与上文描述的处理方法可以相互参照。
参见图2,本发明实施例提供的一种基于linux内存错误的处理系统,包括:
分析模块100,用于分析内存事件源中错误事件的事件类型;
统计模块200,用于统计每种事件类型的发生次数;
标记模块300,用于将在第一预定时长内发生次数大于N的事件类型所对应的错误事件,标记为内存故障格式事件;其中,N为正整数;
判断模块400,用于判断标记为内存故障格式事件的事件类型是否为内存页面错误;若是,则触发执行模块500;
所述执行模块500,用于调用内存页面离线接口对相应的故障内存页面进行离线操作。
基于上述技术方案,在本方案中所述统计模块200包括:
计时模块,用于触发计时器开始计时;
计数模块,用于统计每种事件类型的发生次数,并记录到对应的计数器。
基于上述技术方案,所述标记模块用于检测到所述计时器的计时时长为第一预定时长时,且检测到计数器中存在发生次数大于N次的事件类型时,将所述事件类型对应的错误事件标记为内存故障格式事件
基于上述技术方案,本方案还包括:
日志文件生成模块,用于生成与所述内存故障格式事件相对应的日志文件。
本发明实施例提供的一种基于linux内存错误的处理方法,包括:分析内存事件源中错误事件的事件类型,分别统计每种事件类型的发生次数;将在第一预定时长内发生次数大于N的事件类型所对应的错误事件,标记为内存故障格式事件;其中,N为正整数;判断内存故障格式事件的事件类型是否为内存页面错误;若是,则调用内存页面离线接口对相应的故障内存页面进行离线操作。可见,在本实施例中,通过对内存事件源中的错误事件进行分类并处理,例如当事件类型为内存页面故障时,通过对故障内存页面进行离线操作,可以避免对计算机系统的影响;本发明还公开了一种基于linux内存错误的处理系统,同样能实现上述技术效果。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种基于linux内存错误的处理方法,其特征在于,包括:
分析内存事件源中错误事件的事件类型,分别统计每种事件类型的发生次数;
将在第一预定时长内发生次数大于N的事件类型所对应的错误事件,标记为内存故障格式事件;其中,N为正整数;
判断内存故障格式事件的事件类型是否为内存页面错误;
若是,则调用内存页面离线接口对相应的故障内存页面进行离线操作。
2.根据权利要求1所述的处理方法,其特征在于,所述分析内存事件源中错误事件的事件类型,分别统计每种事件类型的发生次数,包括:
触发计时器开始计时;
依次分析内存事件源中的错误事件的事件类型,并将每种事件类型的错误事件的发生次数记录到对应的计数器。
3.根据权利要求2所述的处理方法,其特征在于,所述将在第一预定时长内发生次数大于N的事件类型所对应的错误事件,标记为内存故障格式事件,包括:
若检测到所述计时器的计时时长为第一预定时长,则检测计数器中是否存在发生次数大于N次的事件类型;
若存在,则将所述事件类型对应的错误事件标记为内存故障格式事件。
4.根据权利要求3所述的处理方法,其特征在于,当所述计时器的计时时长为第一预定时长,且间隔第二预定时长后,重新触发所述计时器清零并开始计时,重新触发所述计数器清零并开始计数。
5.根据权利要求4所述的处理方法,其特征在于,将在第一预定时长内发生次数大于N的事件类型所对应的错误事件,标记为内存故障格式事件,包括:
将在24小时内发生次数大于3次的事件类型所对应的错误事件,标记为内存故障格式事件。
6.根据权利要求5所述的处理方法,其特征在于,还包括:
生成与所述内存故障格式事件相对应的日志文件。
7.一种基于linux内存错误的处理系统,其特征在于,包括:
分析模块,用于分析内存事件源中的错误事件的事件类型;
统计模块,用于分别统计每种事件类型的发生次数;
标记模块,用于将在第一预定时长内发生次数大于N的事件类型所对应的错误事件,标记为内存故障格式事件;其中,N为正整数;
判断模块,用于判断内存故障格式事件的事件类型是否为内存页面错误;若是,则触发执行模块;
所述执行模块,用于调用内存页面离线接口对相应的故障内存页面进行离线操作。
8.根据权利要求7所述的处理系统,其特征在于,所述统计模块包括:
计时模块,用于触发计时器开始计时;
计数模块,用于统计每种事件类型的发生次数,并记录到对应的计数器。
9.根据权利要求8所述的处理系统,其特征在于,
所述标记模块用于检测到所述计时器的计时时长为第一预定时长时,且检测到计数器中存在发生次数大于N次的事件类型时,将所述事件类型对应的错误事件标记为内存故障格式事件。
10.根据权利要求9所述的处理系统,其特征在于,还包括:
日志文件生成模块,用于生成与所述内存故障格式事件相对应的日志文件。
CN201610488004.8A 2016-06-28 2016-06-28 一种基于linux内存错误的处理方法及装置 Pending CN106201750A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610488004.8A CN106201750A (zh) 2016-06-28 2016-06-28 一种基于linux内存错误的处理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610488004.8A CN106201750A (zh) 2016-06-28 2016-06-28 一种基于linux内存错误的处理方法及装置

Publications (1)

Publication Number Publication Date
CN106201750A true CN106201750A (zh) 2016-12-07

Family

ID=57461570

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610488004.8A Pending CN106201750A (zh) 2016-06-28 2016-06-28 一种基于linux内存错误的处理方法及装置

Country Status (1)

Country Link
CN (1) CN106201750A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110008090A (zh) * 2019-04-15 2019-07-12 苏州浪潮智能科技有限公司 一种监控内存错误的方法、装置和计算机可读存储介质
WO2020177493A1 (zh) * 2019-03-01 2020-09-10 华为技术有限公司 内存错误处理方法和装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6401217B1 (en) * 1997-07-22 2002-06-04 Siemens Aktiengesellschaft Method for error recognition in a processor system
CN101556679A (zh) * 2009-05-21 2009-10-14 中国建设银行股份有限公司 一种综合前端系统故障处理方法及计算机设备
CN103001998A (zh) * 2011-12-19 2013-03-27 深圳市安云信息科技有限公司 一种fc-san存储系统及提高光纤通道稳定性的方法
CN105204968A (zh) * 2015-11-10 2015-12-30 浪潮(北京)电子信息产业有限公司 一种故障内存检测方法和装置
CN105426288A (zh) * 2015-11-10 2016-03-23 浪潮电子信息产业股份有限公司 一种内存告警的优化方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6401217B1 (en) * 1997-07-22 2002-06-04 Siemens Aktiengesellschaft Method for error recognition in a processor system
CN101556679A (zh) * 2009-05-21 2009-10-14 中国建设银行股份有限公司 一种综合前端系统故障处理方法及计算机设备
CN103001998A (zh) * 2011-12-19 2013-03-27 深圳市安云信息科技有限公司 一种fc-san存储系统及提高光纤通道稳定性的方法
CN105204968A (zh) * 2015-11-10 2015-12-30 浪潮(北京)电子信息产业有限公司 一种故障内存检测方法和装置
CN105426288A (zh) * 2015-11-10 2016-03-23 浪潮电子信息产业股份有限公司 一种内存告警的优化方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020177493A1 (zh) * 2019-03-01 2020-09-10 华为技术有限公司 内存错误处理方法和装置
CN110008090A (zh) * 2019-04-15 2019-07-12 苏州浪潮智能科技有限公司 一种监控内存错误的方法、装置和计算机可读存储介质

Similar Documents

Publication Publication Date Title
CN101859268B (zh) 上下文切换采样
US8677191B2 (en) Early detection of failing computers
CN103473162A (zh) 一种基于软件故障注入的可靠性评测系统设计方法
US20040003327A1 (en) Method and system to implement a system event log for system manageability
CN103970661A (zh) 一种利用ipmi工具进行批量服务器内存故障检测的方法
US20150006961A1 (en) Capturing trace information using annotated trace output
CN109656239B (zh) 一种轨道机车网络控制系统故障诊断方法及其诊断装置
US20030084376A1 (en) Software crash event analysis method and system
Martino et al. Logdiver: A tool for measuring resilience of extreme-scale systems and applications
Ghanbari et al. Stage-aware anomaly detection through tracking log points
Miao et al. A clustering-based strategy to identify coincidental correctness in fault localization
JP2009075817A (ja) ログ解析方法、ログ格納装置及びプログラム
CN103150226A (zh) 计算机模型异常转储与恢复系统及其转储与恢复方法
CN106201750A (zh) 一种基于linux内存错误的处理方法及装置
US20150268293A1 (en) System and Method for Statistical Post-Silicon Validation
CN106201753B (zh) 一种基于linux中PCIE错误的处理方法及系统
CN106021024A (zh) 一种用户终端停止响应提示方法及用户终端
US9195524B1 (en) Hardware support for performance analysis
JP6040894B2 (ja) ログ生成装置、及びログ生成方法
Chen et al. Design and Evaluation of an Online Anomaly Detector for Distributed Storage Systems.
Chuah et al. Enabling dependability-driven resource use and message log-analysis for cluster system diagnosis
US20100162269A1 (en) Controllable interaction between multiple event monitoring subsystems for computing environments
CN105067994B (zh) 定位片上系统时序逻辑错误、错误率计算及其应用方法
CN105893190A (zh) 多路径io错误的诊断处理方法及系统
CN105718375A (zh) 嵌入式系统的可恢复性度量方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20161207

RJ01 Rejection of invention patent application after publication