CN110008090B - 一种监控内存错误的方法、装置和计算机可读存储介质 - Google Patents
一种监控内存错误的方法、装置和计算机可读存储介质 Download PDFInfo
- Publication number
- CN110008090B CN110008090B CN201910300370.XA CN201910300370A CN110008090B CN 110008090 B CN110008090 B CN 110008090B CN 201910300370 A CN201910300370 A CN 201910300370A CN 110008090 B CN110008090 B CN 110008090B
- Authority
- CN
- China
- Prior art keywords
- rank
- target
- accumulated
- error
- target rank
- 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
- 238000000034 method Methods 0.000 title claims abstract description 30
- 238000012544 monitoring process Methods 0.000 title claims abstract description 28
- 238000009825 accumulation Methods 0.000 claims description 15
- 238000004364 calculation method Methods 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 11
- 238000002955 isolation Methods 0.000 claims description 5
- 230000036541 health Effects 0.000 abstract description 9
- 238000011156 evaluation Methods 0.000 abstract description 8
- 238000001514 detection method Methods 0.000 abstract description 5
- 238000012937 correction Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000003862 health status Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
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/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3037—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a memory, e.g. virtual memory, cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/32—Monitoring with visual or acoustical indication of the functioning of the machine
- G06F11/324—Display of status information
- G06F11/327—Alarm or error message display
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Quality & Reliability (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明实施例公开了一种监控内存错误的方法、装置和计算机可读存储介质,记录各rank发生错误的时间戳和错误次数;判断目标rank的目标错误次数是否大于或等于风暴阈值;若是,则根据当前时间以及目标rank的各时间戳,计算出目标rank发生错误的时间差;判断时间差是否小于或等于预设风暴时间;当时间差小于或等于预设风暴时间时,则向操作系统发送提醒信息。当时间差大于预设风暴时间时,则将目标错误次数清零,并返回记录各rank发生错误的时间戳和错误次数的步骤。通过对内存中各rank的错误次数和发生这些错误的时间进行判断,实现了对各rank错误发生频率的检测,提升了内存健康状态评价的准确性。
Description
技术领域
本发明涉及数据处理技术领域,特别是涉及一种监控内存错误的方法、装置和计算机可读存储介质。
背景技术
随着互联网时代的发展,对海量数据处理能力的需求正在快速增长,从而对服务器提出了更高的要求。在网络技术、虚拟化技术、分布式应用快速发展的今天,服务器所要求的可用性,可靠性,可服务性的指标越来越高。数据纠错能力反映了服务器的可靠性,在各个业务运行期间,服务器存在大量的内存数据访问。一般Intel硬件都自带纠错功能,可对内存数据访问出现的可纠正内存错误进行纠错。
当内存的存储性能较高时,其出错的次数较少;当内存的存储性能变差时,其出错的次数会变得频繁。现在技术中,对服务器固件的错误检查和纠正(Error CorrectingCode,ECC)主要是通过每个内存的单个Rank内ECC错误计数来监测,用户可在基本输入输出(Basic Input Output System,BIOS)的setup选项设置ECC阈值。当ECC计数达到ECC阈值则发送日志,用户可通过操作系统(Operating System,OS)或监控管理软件获得当前内存的健康状态。但是单纯记录每个Rank发生错误的个数,对于内存的健康状态的评价不够客观。
可见,如何提升内存健康状态评价的准确性,是本领域技术人员亟待解决的问题。
发明内容
本发明实施例的目的是提供一种监控内存错误的方法、装置和计算机可读存储介质,可以提升内存健康状态评价的准确性。
为解决上述技术问题,本发明实施例提供一种监控内存错误的方法,包括:
记录各rank发生错误的时间戳和错误次数;
判断目标rank的目标错误次数是否大于或等于风暴阈值;其中,目标rank为所有所述rank中的任意一个rank;
若是,则根据当前时间以及所述目标rank的各时间戳,计算出所述目标rank发生错误的时间差;
判断所述时间差是否小于或等于预设风暴时间;
若是,则向操作系统发送提醒信息;
若否,则将所述目标错误次数清零,并返回所述记录各rank发生错误的时间戳和错误次数的步骤。
可选的,还包括:
当目标rank的目标错误次数清零时,对目标rank的累加值加一;每出现一次目标rank错误次数大于或等于风暴阈值时,则对目标rank的累加值加一;
判断所述累加值是否大于或等于预设阈值;
当所述累加值大于或等于预设阈值时,依据所述目标错误次数、所述累加值以及所述风暴阈值,计算出所述目标rank的累计错误次数;
判断所述累计错误次数是否小于累计阈值;
当所述累计错误次数大于或等于累计阈值时,则将所述目标rank的数据进行搬移;
当所述累计错误次数小于累计阈值时,则根据当前时间以及所述目标rank的各累计时间戳,计算出所述目标rank发生错误的累计时间差;
判断所述累计时间差是否小于或等于预设周期时间;
若是,则向操作系统发送提醒信息;
若否,则将所述目标rank的累加值以及累计错误次数清零,并返回所述记录各rank发生错误的时间戳和错误次数的步骤。
可选的,所述依据所述目标错误次数、所述累加值以及所述风暴阈值,计算出所述目标rank的累计错误次数包括:
按照如下公式计算目标rank的累计错误次数M,
M=N+(W*C);
其中,N表示目标rank的错误次数;C表示目标rank的累加值;W表示风暴阈值。
可选的,所述将所述目标rank的数据进行搬移包括:
将所述目标rank上的数据迁移至冗余rank上。
可选的,在将所述目标rank的数据进行搬移之后还包括:
对所述目标rank设置隔离标识,以便于系统停止向所述目标rank写入数据。
本发明实施例还提供了一种监控内存错误的装置,包括记录单元、第一判断单元、计算单元、第二判断单元、提示单元和清零单元;
所述记录单元,用于记录各rank发生错误的时间戳和错误次数;
所述第一判断单元,用于判断目标rank的目标错误次数是否大于或等于风暴阈值;其中,目标rank为所有所述rank中的任意一个rank;若是,则触发所述计算单元;
所述计算单元,用于根据当前时间以及所述目标rank的各时间戳,计算出所述目标rank发生错误的时间差;
所述第二判断单元,用于判断所述时间差是否小于或等于预设风暴时间;若是,则触发所述提示单元;若否,则触发所述清零单元;
所述提示单元,用于向操作系统发送提醒信息;
所述清零单元,用于将所述目标错误次数清零,并返回所述记录各rank发生错误的时间戳和错误次数的步骤。
可选的,还包括累加单元、第三判断单元、累计错误计算单元、第四判断单元、搬移单元、时间差计算单元、第五判断单元;
所述累加单元,用于当目标rank的目标错误次数清零时,对目标rank的累加值加一;每出现一次目标rank错误次数大于或等于风暴阈值时,则对目标rank的累加值加一;
所述第三判断单元,用于判断所述累加值是否大于或等于预设阈值;
所述累计错误计算单元,用于当所述累加值大于或等于预设阈值时,依据所述目标错误次数、所述累加值以及所述风暴阈值,计算出所述目标rank的累计错误次数;
所述第四判断单元,用于判断所述累计错误次数是否小于累计阈值;若否,则触发所述搬移单元;若是,则触发所述时间差计算单元;
所述搬移单元,用于,则将所述目标rank的数据进行搬移;
所述时间差计算单元,用于根据当前时间以及所述目标rank的各累计时间戳,计算出所述目标rank发生错误的累计时间差;
所述第五判断单元,用于判断所述累计时间差是否小于或等于预设周期时间;若是,则触发所述提示单元向操作系统发送提醒信息;若否,则触发所述清零单元将所述目标rank的累加值以及累计错误次数清零,并返回所述记录各rank发生错误的时间戳和错误次数的步骤。
可选的,所述累计错误计算单元具体用于按照如下公式计算目标rank的累计错误次数M,
M=N+(W*C);
其中,N表示目标rank的错误次数;C表示目标rank的累加值;W表示风暴阈值。
可选的,所述搬移单元具体用于将所述目标rank上的数据迁移至冗余rank上。
可选的,还包括设置单元;
所述设置单元,用于在将所述目标rank的数据进行搬移之后,对所述目标rank设置隔离标识,以便于系统停止向所述目标rank写入数据。
本发明实施例还提供了一种监控内存错误的装置,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序以实现如上述监控内存错误的方法的步骤。
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述监控内存错误的方法的步骤。
由上述技术方案可以看出,记录各rank发生错误的时间戳和错误次数;以所有rank中的任意一个rank即目标rank为例,判断目标rank的目标错误次数是否大于或等于风暴阈值;当目标错误次数大于或等于风暴阈值时,则说明目标rank中数据出错率较高,此时可以根据当前时间以及所述目标rank的各时间戳,计算出所述目标rank发生错误的时间差;判断时间差是否小于或等于预设风暴时间;当时间差小于或等于预设风暴时间时,则说明目标rank在较短时间内产生了较多的错误,此时可以向操作系统发送提醒信息。当时间差大于预设风暴时间时,则说明目标rank虽然产生了较多错误,但是这些错误是经过较长时间的积累,通过目标rank自带的纠错功能应该可以将错误纠正,此时可以将目标错误次数清零,并返回记录各rank发生错误的时间戳和错误次数的步骤,重新对目标rank进行检测。在该技术方案中,通过对内存中各rank的错误次数和发生这些错误的时间进行判断,实现了对各rank错误发生频率的检测,即在固定时间内侦测一直发生错误的内存,提升了内存健康状态评价的准确性。并且通过向操作系统发送提醒信息的方式,可以及时通知用户根据内存的健康状态更换故障内存。
附图说明
为了更清楚地说明本发明实施例,下面将对实施例中所需要使用的附图做简单的介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种监控内存错误的方法的流程图;
图2为本发明实施例提供的一种监控内存累计错误的方法的流程图;
图3为本发明实施例提供的一种监控内存错误的装置的结构示意图;
图4为本发明实施例提供的一种监控内存错误的装置的硬件结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下,所获得的所有其他实施例,都属于本发明保护范围。
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。
接下来,详细介绍本发明实施例所提供的一种监控内存错误的方法。图1为本发明实施例提供的一种监控内存错误的方法的流程图,该方法包括:
S101:记录各rank发生错误的时间戳和错误次数。
在一台服务器上包含有多个rank,一个rank即为一个内存芯片。在本发明实施例中,会记录每个rank发生错误的次数,以及每次发生错误的时刻,将该时刻以时间戳的形式记录。
S102:判断目标rank的目标错误次数是否大于或等于风暴阈值。
风暴阈值用于表示在较短检测时间内rank允许出错的次数上限值。例如,可以将风暴阈值设置为50次。
每个rank的处理方式相同,在本发明实施例中,均以所有rank中的任意一个rank为例展开介绍,为了便于区分,可以将该rank称作目标rank。相应的,可以将目标rank发生的错误次数称作目标错误次数。
当目标rank的目标错误次数大于或等于风暴阈值时,则说明目标rank出现的错误次数较多,此时可以执行S103。
S103:根据当前时间以及目标rank的各时间戳,计算出目标rank发生错误的时间差。
初始状态下,目标rank的目标错误次数为零,目标rank每发生一次错误,目标错误次数加一,并有其对应的一个时间戳。
在本发明实施例中,可以以目标rank的目标错误次数等于一时的时间戳作为初始时间,将目标rank的目标错误次数等于风暴阈值时所对应的当前时间作为结束时间,结束时间和初始时间的差值即为目标rank发生错误的时间差。
S104:判断时间差是否小于或等于预设风暴时间。
预设风暴时间是与风暴阈值相对应的一个时间,用于评价目标rank从首次发生错误到错误次数达到风暴阈值时所花费的时间限值。例如,可以将预设风暴时间设置为1分钟。
当时间差小于或等于预设风暴时间,则说明目标rank在较短的时间内错误次数就达到了风暴阈值,目标rank的存储性能较差,此时可以执行S105。
当时间差大于预设风暴时间,则说明目标rank是经历较长的时间错误次数才达到风暴阈值,根据目标rank的自动纠错能力可自动执行纠错,不会影响目标rank的存储性能,此时可以执行S106。
S105:向操作系统发送提醒信息。
在具体实现中,当目标rank在预设风暴时间内,目标错误次数达到风暴阈值时,则可以将提取的错误信息上报给OS或者向BMC发送日志信息。
S106:将目标错误次数清零,并返回记录各rank发生错误的时间戳和错误次数的步骤。
将目标错误次数清零后,则进入下一个周期的判断流程,即重新执行S101至S106的操作步骤。
由上述技术方案可以看出,记录各rank发生错误的时间戳和错误次数;以所有rank中的任意一个rank即目标rank为例,判断目标rank的目标错误次数是否大于或等于风暴阈值;当目标错误次数大于或等于风暴阈值时,则说明目标rank中数据出错率较高,此时可以根据当前时间以及所述目标rank的各时间戳,计算出所述目标rank发生错误的时间差;判断时间差是否小于或等于预设风暴时间;当时间差小于或等于预设风暴时间时,则说明目标rank在较短时间内产生了较多的错误,此时可以向操作系统发送提醒信息。当时间差大于预设风暴时间时,则说明目标rank虽然产生了较多错误,但是这些错误是经过较长时间的积累,通过目标rank自带的纠错功能应该可以将错误纠正,此时可以将目标错误次数清零,并返回记录各rank发生错误的时间戳和错误次数的步骤,重新对目标rank进行检测。在该技术方案中,通过对内存中各rank的错误次数和发生这些错误的时间进行判断,实现了对各rank错误发生频率的检测,即在固定时间内侦测一直发生错误的内存,提升了内存健康状态评价的准确性。并且通过向操作系统发送提醒信息的方式,可以及时通知用户根据内存的健康状态更换故障内存。
在上述介绍中,是对较短时间内目标rank的错误次数进行评估。在实际应用中,可能会出现目标rank存储性能短暂不稳定,造成短时间内目标rank的错误次数达到风暴阈值的情况。因此,在本发明实施例中,可以在上述短时评估的基础上,对目标rank在多个周期内的累计错误次数进行评估,从而进一步提升存储性能评估的准确性。
图2为本发明实施例提供的一种监控内存累计错误的方法的流程图,该方法包括:
S201:当目标rank的目标错误次数清零时,对目标rank的累加值加一。
由于当前Intel处理器只提供一个内存错误计数接口,当目标错误次数清零后,目标rank的错误次数重新开始计数。为了便于统计目标rank的累计错误次数,在本发明实施例中,可以对目标rank设置累计计数标志,该累计计数标志可以以累加值的形式呈现。
初始状态下,目标rank的累计值为零,每出现一次目标rank的目标错误次数清零时,则对目标rank的累加值加一。
S202:判断累加值是否大于或等于预设阈值。
预设阈值可以是对目标错误次数进行累加的次数限值。例如,预设阈值可以设置为50次。
当累加值大于或等于预设阈值时,则说明目标rank已经满足累加周期的判断条件,此时可以执行S203。
S203:依据目标错误次数、累加值以及风暴阈值,计算出目标rank的累计错误次数。
目标错误次数即为内存错误计数接口当前记录的错误次数。
累计值用于表示目标rank的错误次数达到风暴阈值的次数。
在具体实现中,可以按照如下公式计算目标rank的累计错误次数M,
M=N+(W*C);
其中,N表示目标rank的错误次数;C表示目标rank的累加值;W表示风暴阈值。
S204:判断累计错误次数是否小于累计阈值。
累计阈值可以是在较长时间周期内rank允许出错的次数上限值。例如,可以将累计阈值设置为2000次。
当目标rank的累计错误次数大于或等于累计阈值时,则说明目标rank已经出现了较多的错误数据累积,此时可以执行S205。
当目标rank的累计错误次数小于累计阈值时,则需要依据目标rank达到累计错误次数所花费的时间,对目标rank的存储性能进行评估,即执行S206。
S205:将目标rank的数据进行搬移。
在实际应用中,为了保证各rank的正常工作,针对于每个rank会设置一个冗余rank。当目标rank上的错误数据较多时,此时可以将目标rank上的数据迁移至冗余rank上。
S206:根据当前时间以及目标rank的各累计时间戳,计算出目标rank发生错误的累计时间差。
以多个周期时间内的错误次数的累计作为目标rank的累计错误次数为例,可以将第1个周期时间内,目标rank的目标错误次数等于一时的时间戳作为初始累计时间。当前时间和初始累计时间的差值即为目标rank发生错误的累计时间差。
S207:判断累计时间差是否小于或等于预设周期时间。
预设周期时间是与累计阈值相对应的一个时间,用于评价目标rank从首次发生错误到错误次数达到累计阈值时所花费的时间限值。例如,可以将预设周期时间设置为24小时。
当累计时间差小于或等于预设周期时间,则说明目标rank在未达到预设周期时间时累计错误次数就已经达到了累计阈值,目标rank的存储性能较差,此时可以执行S208。
当累计时间差大于预设周期时间,则说明目标rank的整体存储性能趋于稳定,此时可以执行S209。
S208:向操作系统发送提醒信息。
在具体实现中,当目标rank在预设周期时间内,累计错误次数达到累计阈值时,则可以将提取的错误信息上报给OS或者向BMC发送日志信息。
S209:将目标rank的累加值以及累计错误次数清零,并返回记录各rank发生错误的时间戳和错误次数的步骤。
通过对目标rank在多个时间周期内的错误次数进行累计,可以更加全面的评估目标rank的存储性能,降低了目标rank由于存储性能短暂不稳定,对目标rank性能评估带来的影响。并且通过多个周期时间的累计,当目标rank的累计错误次数达到累计阈值时,才将目标rank的数据进行搬移,既保证了数据的有效存储,又降低了目标rank频繁执行数据搬移操作。
在本发明实施例中,当目标rank的存储性能较差时,会将目标rank的数据进行搬移。为了降低系统将新产生的数据继续存储至目标rank的情况发生,在将目标rank的数据进行搬移之后,可以对目标rank设置隔离标识,以便于系统停止向目标rank写入数据。
图3为本发明实施例提供的一种监控内存错误的装置的结构示意图,包括记录单元31、第一判断单元32、计算单元33、第二判断单元34、提示单元35和清零单元36;
记录单元31,用于记录各rank发生错误的时间戳和错误次数;
第一判断单元32,用于判断目标rank的目标错误次数是否大于或等于风暴阈值;其中,目标rank为所有rank中的任意一个rank;若是,则触发计算单元;
计算单元33,用于根据当前时间以及目标rank的各时间戳,计算出目标rank发生错误的时间差;
第二判断单元34,用于判断时间差是否小于或等于预设风暴时间;若是,则触发提示单元35;若否,则触发清零单元36;
提示单元35,用于向操作系统发送提醒信息;
清零单元36,用于将目标错误次数清零,并返回记录各rank发生错误的时间戳和错误次数的步骤。
可选的,还包括累加单元、第三判断单元、累计错误计算单元、第四判断单元、搬移单元、时间差计算单元、第五判断单元;
累加单元,用于当目标rank的目标错误次数清零时,对目标rank的累加值加一;每出现一次目标rank错误次数大于或等于风暴阈值时,则对目标rank的累加值加一;
第三判断单元,用于判断累加值是否大于或等于预设阈值;
累计错误计算单元,用于当累加值大于或等于预设阈值时,依据目标错误次数、累加值以及风暴阈值,计算出目标rank的累计错误次数;
第四判断单元,用于判断累计错误次数是否小于累计阈值;若否,则触发搬移单元;若是,则触发时间差计算单元;
搬移单元,用于,则将目标rank的数据进行搬移;
时间差计算单元,用于根据当前时间以及目标rank的各累计时间戳,计算出目标rank发生错误的累计时间差;
第五判断单元,用于判断累计时间差是否小于或等于预设周期时间;若是,则触发提示单元向操作系统发送提醒信息;若否,则触发清零单元将目标rank的累加值以及累计错误次数清零,并返回记录各rank发生错误的时间戳和错误次数的步骤。
可选的,累计错误计算单元具体用于按照如下公式计算目标rank的累计错误次数M,
M=N+(W*C);
其中,N表示目标rank的错误次数;C表示目标rank的累加值;W表示风暴阈值。
可选的,搬移单元具体用于将目标rank上的数据迁移至冗余rank上。
可选的,还包括设置单元;
设置单元,用于在将目标rank的数据进行搬移之后,对目标rank设置隔离标识,以便于系统停止向目标rank写入数据。
图3所对应实施例中特征的说明可以参见图1和图2所对应实施例的相关说明,这里不再一一赘述。
由上述技术方案可以看出,记录各rank发生错误的时间戳和错误次数;以所有rank中的任意一个rank即目标rank为例,判断目标rank的目标错误次数是否大于或等于风暴阈值;当目标错误次数大于或等于风暴阈值时,则说明目标rank中数据出错率较高,此时可以根据当前时间以及所述目标rank的各时间戳,计算出所述目标rank发生错误的时间差;判断时间差是否小于或等于预设风暴时间;当时间差小于或等于预设风暴时间时,则说明目标rank在较短时间内产生了较多的错误,此时可以向操作系统发送提醒信息。当时间差大于预设风暴时间时,则说明目标rank虽然产生了较多错误,但是这些错误是经过较长时间的积累,通过目标rank自带的纠错功能应该可以将错误纠正,此时可以将目标错误次数清零,并返回记录各rank发生错误的时间戳和错误次数的步骤,重新对目标rank进行检测。在该技术方案中,通过对内存中各rank的错误次数和发生这些错误的时间进行判断,实现了对各rank错误发生频率的检测,即在固定时间内侦测一直发生错误的内存,提升了内存健康状态评价的准确性。并且通过向操作系统发送提醒信息的方式,可以及时通知用户根据内存的健康状态更换故障内存。
图4为本发明实施例提供的一种监控内存错误的装置40的硬件结构示意图,包括:
存储器41,用于存储计算机程序;
处理器42,用于执行计算机程序以实现如上述监控内存错误的方法的步骤。
本发明实施例还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现如上述监控内存错误的方法的步骤。
以上对本发明实施例所提供的一种监控内存错误的方法、装置和计算机可读存储介质进行了详细介绍。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
Claims (8)
1.一种监控内存错误的方法,其特征在于,包括:
记录各rank发生错误的时间戳和错误次数;
判断目标rank的目标错误次数是否等于风暴阈值;其中,目标rank为所有所述rank中的任意一个rank;
若是,则根据当前时间以及所述目标rank的各时间戳,计算出所述目标rank发生错误的时间差;
判断所述时间差是否小于或等于预设风暴时间;
若是,则向操作系统发送提醒信息;
若否,则将所述目标错误次数清零,并返回所述记录各rank发生错误的时间戳和错误次数的步骤;
还包括:
当目标rank的目标错误次数清零时,对目标rank的累加值加一;每出现一次目标rank错误次数大于或等于风暴阈值时,则对目标rank的累加值加一;
判断所述累加值是否大于或等于预设阈值;
当所述累加值大于或等于预设阈值时,依据所述目标错误次数、所述累加值以及所述风暴阈值,计算出所述目标rank的累计错误次数;
判断所述累计错误次数是否小于累计阈值;
当所述累计错误次数大于或等于累计阈值时,则将所述目标rank的数据进行搬移;
当所述累计错误次数小于累计阈值时,则根据当前时间以及所述目标rank的各累计时间戳,计算出所述目标rank发生错误的累计时间差;
判断所述累计时间差是否小于或等于预设周期时间;
若是,则向操作系统发送提醒信息;
若否,则将所述目标rank的累加值以及累计错误次数清零,并返回所述记录各rank发生错误的时间戳和错误次数的步骤。
2.根据权利要求1所述的方法,其特征在于,所述依据所述目标错误次数、所述累加值以及所述风暴阈值,计算出所述目标rank的累计错误次数包括:
按照如下公式计算目标rank的累计错误次数M,
M=N+(W*C);
其中,N表示目标rank的错误次数;C表示目标rank的累加值;W表示风暴阈值。
3.根据权利要求1-2任意一项所述的方法,其特征在于,所述将所述目标rank的数据进行搬移包括:
将所述目标rank上的数据迁移至冗余rank上。
4.根据权利要求1-2任意一项所述的方法,其特征在于,在将所述目标rank的数据进行搬移之后还包括:
对所述目标rank设置隔离标识,以便于系统停止向所述目标rank写入数据。
5.一种监控内存错误的装置,其特征在于,包括记录单元、第一判断单元、计算单元、第二判断单元、提示单元和清零单元;
所述记录单元,用于记录各rank发生错误的时间戳和错误次数;
所述第一判断单元,用于判断目标rank的目标错误次数是否等于风暴阈值;其中,目标rank为所有所述rank中的任意一个rank;若是,则触发所述计算单元;
所述计算单元,用于根据当前时间以及所述目标rank的各时间戳,计算出所述目标rank发生错误的时间差;
所述第二判断单元,用于判断所述时间差是否小于或等于预设风暴时间;若是,则触发所述提示单元;若否,则触发所述清零单元;
所述提示单元,用于向操作系统发送提醒信息;
所述清零单元,用于将所述目标错误次数清零,并返回所述记录各rank发生错误的时间戳和错误次数的步骤;
还包括累加单元、第三判断单元、累计错误计算单元、第四判断单元、搬移单元、时间差计算单元、第五判断单元;
所述累加单元,用于当目标rank的目标错误次数清零时,对目标rank的累加值加一;每出现一次目标rank错误次数大于或等于风暴阈值时,则对目标rank的累加值加一;
所述第三判断单元,用于判断所述累加值是否大于或等于预设阈值;
所述累计错误计算单元,用于当所述累加值大于或等于预设阈值时,依据所述目标错误次数、所述累加值以及所述风暴阈值,计算出所述目标rank的累计错误次数;
所述第四判断单元,用于判断所述累计错误次数是否小于累计阈值;若否,则触发所述搬移单元;若是,则触发所述时间差计算单元;
所述搬移单元,用于,则将所述目标rank的数据进行搬移;
所述时间差计算单元,用于根据当前时间以及所述目标rank的各累计时间戳,计算出所述目标rank发生错误的累计时间差;
所述第五判断单元,用于判断所述累计时间差是否小于或等于预设周期时间;若是,则触发所述提示单元向操作系统发送提醒信息;若否,则触发所述清零单元将所述目标rank的累加值以及累计错误次数清零,并返回所述记录各rank发生错误的时间戳和错误次数的步骤。
6.根据权利要求5所述的装置,其特征在于,所述累计错误计算单元具体用于按照如下公式计算目标rank的累计错误次数M,
M=N+(W*C);
其中,N表示目标rank的错误次数;C表示目标rank的累加值;W表示风暴阈值。
7.一种监控内存错误的装置,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序以实现如权利要求1至4任意一项所述监控内存错误的方法的步骤。
8.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至4任一项所述监控内存错误的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910300370.XA CN110008090B (zh) | 2019-04-15 | 2019-04-15 | 一种监控内存错误的方法、装置和计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910300370.XA CN110008090B (zh) | 2019-04-15 | 2019-04-15 | 一种监控内存错误的方法、装置和计算机可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110008090A CN110008090A (zh) | 2019-07-12 |
CN110008090B true CN110008090B (zh) | 2020-10-02 |
Family
ID=67171919
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910300370.XA Active CN110008090B (zh) | 2019-04-15 | 2019-04-15 | 一种监控内存错误的方法、装置和计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110008090B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110718261A (zh) * | 2019-08-21 | 2020-01-21 | 深圳市金泰克半导体有限公司 | 一种内存条管理方法及系统 |
CN111061741B (zh) * | 2019-12-20 | 2023-08-22 | 国网山东省电力公司泰安供电公司 | 一种电力测试数据管理方法、系统、终端及存储介质 |
CN113608960B (zh) * | 2021-07-09 | 2024-06-25 | 五八有限公司 | 一种服务监控方法、装置、电子设备及存储介质 |
CN116820828B (zh) * | 2023-08-29 | 2024-01-09 | 苏州浪潮智能科技有限公司 | 可纠正错误阈值设定方法、装置、电子设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103842968A (zh) * | 2013-11-22 | 2014-06-04 | 华为技术有限公司 | 一种内存数据的迁移方法、计算机和装置 |
CN105426288A (zh) * | 2015-11-10 | 2016-03-23 | 浪潮电子信息产业股份有限公司 | 一种内存告警的优化方法 |
CN107643877A (zh) * | 2016-07-22 | 2018-01-30 | 中国电信股份有限公司 | 磁盘故障检测方法以及装置 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103092739A (zh) * | 2013-01-18 | 2013-05-08 | 浪潮电子信息产业股份有限公司 | 一种内存ecc报错报警机制 |
CN103092709A (zh) * | 2013-01-22 | 2013-05-08 | 浪潮电子信息产业股份有限公司 | 一种内存错误处理方法 |
KR102143517B1 (ko) * | 2013-02-26 | 2020-08-12 | 삼성전자 주식회사 | 에러 정정회로를 포함하는 반도체 메모리 장치 및 반도체 메모리 장치의 동작방법 |
JP6369338B2 (ja) * | 2014-04-25 | 2018-08-08 | 京セラドキュメントソリューションズ株式会社 | 情報処理装置 |
CN104598342B (zh) * | 2014-12-31 | 2018-05-01 | 曙光信息产业(北京)有限公司 | 内存的检测方法和装置 |
CN105117301B (zh) * | 2015-08-14 | 2018-08-14 | 杭州华为数字技术有限公司 | 一种内存预警的方法及装置 |
CN106201750A (zh) * | 2016-06-28 | 2016-12-07 | 浪潮(北京)电子信息产业有限公司 | 一种基于linux内存错误的处理方法及装置 |
CN106445720A (zh) * | 2016-10-11 | 2017-02-22 | 郑州云海信息技术有限公司 | 一种内存错误恢复方法和装置 |
EP3660681B1 (en) * | 2017-09-30 | 2023-01-11 | Huawei Technologies Co., Ltd. | Memory fault detection method and device, and server |
-
2019
- 2019-04-15 CN CN201910300370.XA patent/CN110008090B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103842968A (zh) * | 2013-11-22 | 2014-06-04 | 华为技术有限公司 | 一种内存数据的迁移方法、计算机和装置 |
CN105426288A (zh) * | 2015-11-10 | 2016-03-23 | 浪潮电子信息产业股份有限公司 | 一种内存告警的优化方法 |
CN107643877A (zh) * | 2016-07-22 | 2018-01-30 | 中国电信股份有限公司 | 磁盘故障检测方法以及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110008090A (zh) | 2019-07-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110008090B (zh) | 一种监控内存错误的方法、装置和计算机可读存储介质 | |
CN109328340B (zh) | 内存故障的检测方法、装置和服务器 | |
JP5831558B2 (ja) | 運用管理装置、運用管理方法、及びプログラム | |
JP6387747B2 (ja) | 情報処理装置、障害回避方法およびコンピュータプログラム | |
TWI610169B (zh) | 檔案系統的日誌子系統寫入方法、錯誤追蹤方法及處理器 | |
US20110072299A1 (en) | Leak monitoring system and associated methods | |
US10296417B2 (en) | Reducing uncorrectable errors based on a history of correctable errors | |
CN111008091A (zh) | 一种内存ce的故障处理方法、系统及相关装置 | |
CN113590429B (zh) | 一种服务器故障诊断方法、装置及电子设备 | |
CN112579327B (zh) | 一种故障检测方法、装置及设备 | |
CN106201753B (zh) | 一种基于linux中PCIE错误的处理方法及系统 | |
CN112331249B (zh) | 预测存储器件寿命的方法、装置、终端设备和存储介质 | |
CN115981898A (zh) | 一种内存可纠错误处理方法、装置、设备及可读存储介质 | |
JP5495310B2 (ja) | 情報処理装置、障害解析方法及び障害解析プログラム | |
CN110569182B (zh) | 一种崩溃率计算方法、装置、计算机设备及存储介质 | |
CN117076186B (zh) | 一种内存故障检测方法、系统、装置、介质及服务器 | |
CN108279993B (zh) | 实现业务降级的方法及装置和电子设备 | |
WO2014155228A1 (en) | A primary memory module with a record of usage history and applications of the primary memory module to a computer system | |
CN108964992B (zh) | 一种节点故障检测方法、装置和计算机可读存储介质 | |
CN111414295A (zh) | 一种cpu占用率的统计方法、装置、设备及介质 | |
CN115686909A (zh) | 内存故障的预测方法和装置、存储介质及电子装置 | |
CN112988442B (zh) | 一种服务器运行阶段传送故障信息的方法和设备 | |
JP5627414B2 (ja) | 動作ログ収集システム及びプログラム | |
CN114153712A (zh) | 异常处理方法、装置、设备及存储介质 | |
CN113064765A (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 |