CN105975377B - 一种监控内存的方法及装置 - Google Patents

一种监控内存的方法及装置 Download PDF

Info

Publication number
CN105975377B
CN105975377B CN201610283384.1A CN201610283384A CN105975377B CN 105975377 B CN105975377 B CN 105975377B CN 201610283384 A CN201610283384 A CN 201610283384A CN 105975377 B CN105975377 B CN 105975377B
Authority
CN
China
Prior art keywords
memory
ems
error
ems memory
item
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
CN201610283384.1A
Other languages
English (en)
Other versions
CN105975377A (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.)
Inspur Electronic Information Industry Co Ltd
Original Assignee
Inspur 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 Electronic Information Industry Co Ltd filed Critical Inspur Electronic Information Industry Co Ltd
Priority to CN201610283384.1A priority Critical patent/CN105975377B/zh
Publication of CN105975377A publication Critical patent/CN105975377A/zh
Application granted granted Critical
Publication of CN105975377B publication Critical patent/CN105975377B/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/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3037Monitoring 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
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1666Error detection or correction of the data by redundancy in hardware where the redundant component is memory or memory area

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明提供了一种监控内存的方法及装置,该方法,包括:S1:对内存进行检测,确定所述内存中的内存错误;S2:从所有内存错误中确定出可修复的内存错误;S3:屏蔽可修复的内存错误对应的内存区域。本发明提供了一种监控内存的方法及装置,能够提高内存所在的系统的稳定性。

Description

一种监控内存的方法及装置
技术领域
本发明涉及计算机技术领域,特别涉及一种监控内存的方法及装置。
背景技术
内存是计算机中重要的部件之一,它是与CPU进行沟通的桥梁。计算机中所有程序的运行都是在内存中进行的,因此内存的性能对计算机的影响非常大。如何对内存进行监控,保证内存的正常运行,非常重要。
现有技术中,在对内存进行监控时,检测出内存中的错误后,不能对内存错误进行处理,内存错误会存在系统中,当内存错误较多时,会严重影响系统的稳定性,容易导致系统崩溃。
通过上述描述可见,现有技术由于无法对内存错误进行处理,使得系统的稳定性较低。
发明内容
本发明实施例提供了一种监控内存的方法及装置,能够提高内存所在的系统的稳定性。
一方面,本发明实施例提供了一种监控内存的方法,包括:
S1:对内存进行检测,确定所述内存中的内存错误;
S2:从所有内存错误中确定出可修复的内存错误;
S3:屏蔽可修复的内存错误对应的内存区域。
进一步地,所述S2,包括:
A1:判断所述内存对应的当前内存条中的内存错误的数量是否小于等于预设值,如果是,则依次执行步骤A2、A3,否则,确定当前内存条中的内存错误均不是可修复的内存错误,结束当前流程;
A2:确定当前内存条中的内存错误对应的线性地址;
A3:将当前内存条中的所有内存错误中对应的线性地址没有映射到所述内存的关键的内存地址空间中的内存错误作为可修复的内存错误。
进一步地,所述S2,包括:
B1:判断所述内存对应的当前内存条中的所有内存错误对应的总容量是否小于等于当前内存条的总容量的预设百分比,如果是,则执行步骤B2,否则,确定当前内存条中的内存错误均不是可修复的内存错误,结束当前流程;
B2:判断所述内存对应的当前内存条中的内存错误是否发生在预设数量个连续的物理页面中,如果是,则依次执行步骤B3、B4,否则,确定当前内存条中的内存错误均不是可修复的内存错误,结束当前流程;
B3:确定当前内存条中的内存错误对应的线性地址;
B4:将当前内存条中的所有内存错误中对应的线性地址没有映射到所述内存的关键的内存地址空间中的内存错误作为可修复的内存错误。
进一步地,所述S3,包括:
确定可修复的内存错误对应的待屏蔽线性地址;
禁止使用待屏蔽线性地址对应的内存区域。
进一步地,所述S1包括:
在BIOS阶段,利用IMS(Intelligent Memory Surveillance,智能内存监控)对所述内存进行检测,确定所述内存中的内存错误。
另一方面,本发明实施例提供了一种监控内存的装置,包括:
检测单元,用于对内存进行检测,确定所述内存中的内存错误;
确定单元,用于从所有内存错误中确定出可修复的内存错误;
屏蔽单元,用于屏蔽可修复的内存错误对应的内存区域。
进一步地,所述确定单元,包括:
第一判断子单元、第一确定子单元、第二确定子单元;
所述判断子单元,用于判断所述内存对应的当前内存条中的内存错误的数量是否小于等于预设值,当判断结果为是时,则触发所述第一确定子单元,当判断结果为否时,确定当前内存条中的内存错误均不是可修复的内存错误;
所述第一确定子单元,用于确定当前内存条中的内存错误对应的线性地址,触发所述第二确定子单元;
所述第二确定子单元,将当前内存条中的所有内存错误中对应的线性地址没有映射到所述内存的关键的内存地址空间中的内存错误作为可修复的内存错误。
进一步地,所述确定单元,包括:
第二判断子单元、第三判断子单元、第三确定子单元;
所述第二判断子单元,用于判断所述内存对应的当前内存条中的所有内存错误对应的总容量是否小于等于当前内存条的总容量的预设百分比,当判断结果为是时,则触发所述第三判断子单元,当判断结果为否时,确定当前内存条中的内存错误均不是可修复的内存错误;
所述第三判断子单元,用于判断所述内存对应的当前内存条中的内存错误是否发生在预设数量个连续的物理页面中,当判断结果为是时,则触发所述第三确定子单元,当判断结果为否时,确定当前内存条中的内存错误均不是可修复的内存错误;
所述第三确定子单元,用于确定当前内存条中的内存错误对应的线性地址,将当前内存条中的所有内存错误中对应的线性地址没有映射到所述内存的关键的内存地址空间中的内存错误作为可修复的内存错误。
进一步地,所述屏蔽单元,用于确定可修复的内存错误对应的待屏蔽线性地址,禁止使用待屏蔽线性地址对应的内存区域。
进一步地,所述检测单元,用于在BIOS阶段,利用IMS对所述内存进行检测,确定所述内存中的内存错误。
在本发明实施例中,在检测出内存错误后,确定出可修复的内存错误,屏蔽可修复的内存错误对应的内存区域,系统不再使用该内存区域,避免了在该内存区域重复发生错误,提高了内存所在的系统的稳定性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例提供的一种监控内存的方法的流程图;
图2是本发明一实施例提供的另一种监控内存的方法的流程图;
图3是本发明一实施例提供的又一种监控内存的方法的流程图;
图4是本发明一实施例提供的一种监控内存的装置的示意图;
图5是本发明一实施例提供的另一种监控内存的装置的示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明实施例提供了一种监控内存的方法,该方法可以包括以下步骤:
S1:对内存进行检测,确定所述内存中的内存错误;
S2:从所有内存错误中确定出可修复的内存错误;
S3:屏蔽可修复的内存错误对应的内存区域。
在本发明实施例中,在检测出内存错误后,确定出可修复的内存错误,屏蔽可修复的内存错误对应的内存区域,系统不再使用该内存区域,避免了在该内存区域重复发生错误,提高了内存所在的系统的稳定性。
确定可修复的内存错误可以通过以下两种方式实现:
在一种实现方式中,所述S2,包括:
A1:判断所述内存对应的当前内存条中的内存错误的数量是否小于等于预设值,如果是,则执行步骤A2,否则,确定当前内存条中的内存错误均不是可修复的内存错误,结束当前流程;
A2:确定当前内存条中的内存错误对应的线性地址;
A3:将当前内存条中的所有内存错误中对应的线性地址没有映射到所述内存的关键的内存地址空间中的内存错误作为可修复的内存错误。
在这里的预设值可以是16,由于一个内存条中的内存错误超过16个后,会对系统的稳定性运行造成比较严重的影响。内存的关键的内存地址空间所对应的内存区域是内存的关键区域,例如:小于1M的地址空间、BIOS启动空间和系统启动空间,这些关键区域是系统必须要使用的不能屏蔽。内存的关键的内存地址空间一般在内存出厂时已经设置完成了。
另外,在A1之前还可以包括:判断当前内存条中的内存错误对应的出错单元是否是独立的,如果是,则执行步骤A1,否则,接收当前流程。通过该步骤使得对可修复的内存错误的要求更加严格了,使得对可修复的内存错误屏蔽后,系统的稳定性更好。
在另一种实现方式中,所述S2,包括:
B1:判断所述内存对应的当前内存条中的所有内存错误对应的总容量是否小于等于当前内存条的总容量的预设百分比,如果是,则执行步骤B2,否则,确定当前内存条中的内存错误均不是可修复的内存错误,结束当前流程;
B2:判断所述内存对应的当前内存条中的内存错误是否发生在预设数量个连续的物理页面中,如果是,则依次执行步骤B3、B4,否则,确定当前内存条中的内存错误均不是可修复的内存错误,结束当前流程;
B3:确定当前内存条中的内存错误对应的线性地址;
B4:将当前内存条中的所有内存错误中对应的线性地址没有映射到所述内存的关键的内存地址空间中的内存错误作为可修复的内存错误。
在该实现方式中,预设百分比可以是5%。这里的连续的物理页面可以通过特定的物理区块来替换,也就是说,只要内存错误集中的特定的物理区块中即可以继续执行B3。
上述两种实现方式可以一起使用,只要通过任意一种实现方式确定出的可修复的内存错误均进行后续的屏蔽操作,也就是,执行步骤S3。
在本发明一实施例中,所述S3,包括:
确定可修复的内存错误对应的待屏蔽线性地址;
禁止使用待屏蔽线性地址对应的内存区域。
通过待屏蔽线性地址可以找到对应的内存区域,将这些内存区域禁止使用后,就会避免在该内存区域中重复发生内存错误。在进行内存检测时,也不会再对该内存区域报错,使该内存区域对于系统来说“不存在”。
在本发明一实施例中,所述S1包括:
在BIOS阶段,利用IMS对所述内存进行检测,确定所述内存中的内存错误。
在该实施例中,可以通过以下步骤启动IMS:
1、启动机器,进入Insyde BIOS Setup界面;
2、进入Advance页;
3、选择iMS Diagnostic选项,运行iMS;
4、选择检测模式;
具体地,根据测试强度分为三种检测模式:Quick(快速)、Standard(标准)、Extensive(强化);“快速”的测试模块的强度最弱,“强化”的测试强度最强;测试强度越强检测越仔细,检测的内容越多。对于某些检测模式(如强化模式),有时会根据需要自动重启机器。
选择检测模式后,开始对内存进行检测。
由于测试程序的运行时间跟实际内存容量和CPU速度等相关度高,所以同样的测试算法在不同的平台和内存容量下会有不同的运行时间。
IMS测试过程中显示当前运行的测试Pattern名称、运行相对进度以及测试结果。其中,测试结果中包含内存错误对应的出错单元的线性地址和物理地址。物理地址指明出错单元所在的具体物理位置,例如所在的内存条。
测试结果的格式如下:
Find error:LinearAddress ErrorBit n c d r(row/column/bank)
其中:
LinearAddress–出错单元的线性地址
ErrorBit–出错单元对应的逻辑数据位
n–CPU节点号
c–通道(Channel)号
d–插槽(DIMM)号
r–Rank号
row–行地址
column–列地址
bank–块地址
在iMS行的过程中任何时候,按ESC键可以中断程序退出测试,已经测试完的结果同样会显示及保留。由于iMS程序是运行的SMP(Symmetric Multi-Processing,对称多处理器)的状态,因为同步的原因,在ESC键按下之后可以还要等待一定的时间才完全退出测试。
如图2所示,本发明实施例提供了一种监控内存的方法,在该实施例中,对服务器中的内存进行监控,该方法可以包括以下步骤:
步骤201:在BIOS阶段,利用IMS对内存进行检测,确定内存中的内存错误。
通过IMS可以生成保存有内存错误的日志文件,该日志文件中包括内存错误的代号、内存错误对应的出错单元的线性地址和物理地址等信息。物理地址可以是如下形式:CPU 0\Channel 0\DIMM0。通过物理地址可以确定出内存错误对应的内存条。
步骤202:判断内存对应的当前内存条中的内存错误的数量是否小于等于16,如果是,则执行步骤203、步骤204,否则,执行步骤205。
在任一内存条中,内存错误的数量过多时会降低系统的稳定性,因此,当前内存条中的内存错误的数量小于等于预设值,是进行屏蔽操作需要满足的一个条件。
步骤203:确定当前内存条中的内存错误对应的线性地址。
内存错误的线性地址可以从IMS产生的保存内存错误的日志中获取。
步骤204:将当前内存条中的所有内存错误中对应的线性地址没有映射到内存的关键的内存地址空间中的内存错误作为可修复的内存错误。
有些内存错误是发生在内存的关键的内存地址空间中的,关键的内存地址空间对应的关键区域是不能屏蔽,屏蔽后系统无法正常运行。
步骤205:确定当前内存条中的内存错误均不是可修复的内存错误,结束当前流程。
步骤206:确定可修复的内存错误对应的待屏蔽线性地址。
该待屏蔽线性地址也可以从IMS产生的保存内存错误的日志中获取。
步骤207:禁止使用待屏蔽线性地址对应的内存区域。
通过该步骤实现对待屏蔽线性地址对应的内存区域的屏蔽,系统无需对该内存区域进行检测,该内存区域不被使用,因此不会产生相关的内存错误。
如图3所示,本发明实施例提供了一种监控内存的方法,在该实施例中,对服务器中的内存进行监控,该方法可以包括以下步骤:
步骤301:在BIOS阶段,利用IMS对内存进行检测,确定内存中的内存错误。
步骤302:判断内存对应的当前内存条中的所有内存错误对应的总容量是否小于等于当前内存条的总容量的5%,如果是,则执行步骤303,否则,执行步骤304。
当任一内存条中的内存错误对应的总容量较多时,内存可以使用的内存较少,影响系统的稳定性,因此,内存错误对应的总容量小于等于当前内存条的总容量的预设百分比为进行屏蔽操作需要满足的一个条件。
步骤303:判断所述内存对应的当前内存条中的内存错误是否发生在预设数量个连续的物理页面中,如果是,则执行步骤305,否则,执行步骤304。
当内存错误集中发生在某个物理区块中时,即使内存条中的内存错误的数量超过16个,也是可以接收,可以进行屏蔽操作。
步骤304:确定当前内存条中的内存错误均不是可修复的内存错误,结束当前流程。
步骤305:确定当前内存条中的内存错误对应的线性地址;
步骤306:将当前内存条中的所有内存错误中对应的线性地址没有映射到所述内存的关键的内存地址空间中的内存错误作为可修复的内存错误。
步骤307:确定可修复的内存错误对应的待屏蔽线性地址。
步骤308:禁止使用待屏蔽线性地址对应的内存区域。
在本发明实施例中,在确定内存中的内存错误之后,还可以包括:
判断当前内存错误对应的线性地址是否映射到所述内存的关键的内存地址空间中,如果是,则确定当前内存错误是不可修复的内存错误;不对不可修复的内存错误对应的内存区域进行屏蔽,发出警示信息。
其中,该警示信息中可以包括:不可修复的内存错误所在的内存条的物理位置。用户可以根据该物理位置找到对应的内存条,更换该内存条。具体地,该警示信息可以是如下形式:内存错误出现在BIOS启动的关键区域,建议更换内存条,同时指明建议更换的内存条所在的物理位置。
另外,在确定内存中的内存错误之后,还可以包括:
判断当前内存条的内存错误的数量是否大于等于预设值,如果是,则确定当前内存条中的内存错误为不可修复的内存错误。不对不可修复的内存错误对应的内存区域进行屏蔽,发出警示信息。其中,该预设值可以为16。该警示信息中可以包括:不可修复的内存错误所在的内存条的物理位置。用户可以根据该物理位置找到对应的内存条,更换该内存条。具体地,该警示信息可以是如下形式:内存错误过多,建议更换内存条,同时指明建议更换的内存条所在的物理位置。
需要说明的是:本发明实施例提供的方案可以在BIOS阶段进行实现,无需进入到操作系统中。本发明实施例提供的方案可以在Linux系统下实现。
如图4、图5所示,本发明实施例提供了一种监控内存的装置。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。从硬件层面而言,如图4所示,为本发明实施例提供的一种监控内存的装置所在设备的一种硬件结构图,除了图3所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的设备通常还可以包括其他硬件,如负责处理报文的转发芯片等等。以软件实现为例,如图5所示,作为一个逻辑意义上的装置,是通过其所在设备的CPU将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。本实施例提供的一种监控内存的装置,包括:
检测单元501,用于对内存进行检测,确定所述内存中的内存错误;
确定单元502,用于从所有内存错误中确定出可修复的内存错误;
屏蔽单元503,用于屏蔽可修复的内存错误对应的内存区域。
在本发明一实施例中,所述确定单元502,包括:
第一判断子单元、第一确定子单元、第二确定子单元;
所述判断子单元,用于判断所述内存对应的当前内存条中的内存错误的数量是否小于等于预设值,当判断结果为是时,则触发所述第一确定子单元,当判断结果为否时,确定当前内存条中的内存错误均不是可修复的内存错误;
所述第一确定子单元,用于确定当前内存条中的内存错误对应的线性地址,触发所述第二确定子单元;
所述第二确定子单元,将当前内存条中的所有内存错误中对应的线性地址没有映射到所述内存的关键的内存地址空间中的内存错误作为可修复的内存错误。
在本发明一实施例中,所述确定单元502,包括:
第二判断子单元、第三判断子单元、第三确定子单元;
所述第二判断子单元,用于判断所述内存对应的当前内存条中的所有内存错误对应的总容量是否小于等于当前内存条的总容量的预设百分比,当判断结果为是时,则触发所述第三判断子单元,当判断结果为否时,确定当前内存条中的内存错误均不是可修复的内存错误;
所述第三判断子单元,用于判断所述内存对应的当前内存条中的内存错误是否发生在预设数量个连续的物理页面中,当判断结果为是时,则触发所述第三确定子单元,当判断结果为否时,确定当前内存条中的内存错误均不是可修复的内存错误;
所述第三确定子单元,用于确定当前内存条中的内存错误对应的线性地址,将当前内存条中的所有内存错误中对应的线性地址没有映射到所述内存的关键的内存地址空间中的内存错误作为可修复的内存错误。
在本发明一实施例中,所述屏蔽单元503,用于确定可修复的内存错误对应的待屏蔽线性地址,禁止使用待屏蔽线性地址对应的内存区域。
在本发明一实施例中,所述检测单元501,用于在BIOS阶段,利用IMS对所述内存进行检测,确定所述内存中的内存错误。
上述装置内的各单元之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
本发明实施例至少具有如下有益效果:
1、在本发明实施例中,在检测出内存错误后,确定出可修复的内存错误,屏蔽可修复的内存错误对应的内存区域,系统不再使用该内存区域,避免了在该内存区域重复发生错误,提高了内存所在的系统的稳定性。
2、在本发明实施例中,通过在BIOS阶段对内存进行监控,屏蔽可修复的内存错误对应的内存区域,减少由于内存老化衰变等原因引起的内存错误而导致的系统崩溃。
3、在本发明实施例中,针对不可以修复的内存错误,向外部发送警示信息,使得用户能够及时更换相应的内存条,提高系统的稳定性。
需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个······”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同因素。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储在计算机可读取的存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质中。
最后需要说明的是:以上所述仅为本发明的较佳实施例,仅用于说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (8)

1.一种监控内存的方法,其特征在于,包括:
S1:对内存进行检测,确定所述内存中的内存错误;
S2:从所有内存错误中确定出可修复的内存错误;
S3:屏蔽可修复的内存错误对应的内存区域;
所述S2,包括:
A1:判断所述内存对应的当前内存条中的内存错误的数量是否小于等于预设值,如果是,则依次执行步骤A2、A3,否则,确定当前内存条中的内存错误均不是可修复的内存错误,结束当前流程;
A2:确定当前内存条中的内存错误对应的线性地址;
A3:将当前内存条中的所有内存错误中对应的线性地址没有映射到所述内存的关键的内存地址空间中的内存错误作为可修复的内存错误。
2.根据权利要求1所述的方法,其特征在于,所述S2,包括:
B1:判断所述内存对应的当前内存条中的所有内存错误对应的总容量是否小于等于当前内存条的总容量的预设百分比,如果是,则执行步骤B2,否则,确定当前内存条中的内存错误均不是可修复的内存错误,结束当前流程;
B2:判断所述内存对应的当前内存条中的内存错误是否发生在预设数量个连续的物理页面中,如果是,则依次执行步骤B3、B4,否则,确定当前内存条中的内存错误均不是可修复的内存错误,结束当前流程;
B3:确定当前内存条中的内存错误对应的线性地址;
B4:将当前内存条中的所有内存错误中对应的线性地址没有映射到所述内存的关键的内存地址空间中的内存错误作为可修复的内存错误。
3.根据权利要求1-2中任一所述的方法,其特征在于,所述S3,包括:
确定可修复的内存错误对应的待屏蔽线性地址;
禁止使用待屏蔽线性地址对应的内存区域。
4.根据权利要求1-2中任一所述的方法,其特征在于,所述S1包括:
在BIOS阶段,利用智能内存监控IMS对所述内存进行检测,确定所述内存中的内存错误。
5.一种监控内存的装置,其特征在于,包括:
检测单元,用于对内存进行检测,确定所述内存中的内存错误;
确定单元,用于从所有内存错误中确定出可修复的内存错误;
屏蔽单元,用于屏蔽可修复的内存错误对应的内存区域;
所述确定单元,包括:
第一判断子单元、第一确定子单元、第二确定子单元;
所述判断子单元,用于判断所述内存对应的当前内存条中的内存错误的数量是否小于等于预设值,当判断结果为是时,则触发所述第一确定子单元,当判断结果为否时,确定当前内存条中的内存错误均不是可修复的内存错误;
所述第一确定子单元,用于确定当前内存条中的内存错误对应的线性地址,触发所述第二确定子单元;
所述第二确定子单元,将当前内存条中的所有内存错误中对应的线性地址没有映射到所述内存的关键的内存地址空间中的内存错误作为可修复的内存错误。
6.根据权利要求5所述的装置,其特征在于,所述确定单元,包括:
第二判断子单元、第三判断子单元、第三确定子单元;
所述第二判断子单元,用于判断所述内存对应的当前内存条中的所有内存错误对应的总容量是否小于等于当前内存条的总容量的预设百分比,当判断结果为是时,则触发所述第三判断子单元,当判断结果为否时,确定当前内存条中的内存错误均不是可修复的内存错误;
所述第三判断子单元,用于判断所述内存对应的当前内存条中的内存错误是否发生在预设数量个连续的物理页面中,当判断结果为是时,则触发所述第三确定子单元,当判断结果为否时,确定当前内存条中的内存错误均不是可修复的内存错误;
所述第三确定子单元,用于确定当前内存条中的内存错误对应的线性地址,将当前内存条中的所有内存错误中对应的线性地址没有映射到所述内存的关键的内存地址空间中的内存错误作为可修复的内存错误。
7.根据权利要求5或6中任一所述的装置,其特征在于,所述屏蔽单元,用于确定可修复的内存错误对应的待屏蔽线性地址,禁止使用待屏蔽线性地址对应的内存区域。
8.根据权利要求5或6中任一所述的装置,其特征在于,所述检测单元,用于在BIOS阶段,利用智能内存监控IMS对所述内存进行检测,确定所述内存中的内存错误。
CN201610283384.1A 2016-04-29 2016-04-29 一种监控内存的方法及装置 Active CN105975377B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610283384.1A CN105975377B (zh) 2016-04-29 2016-04-29 一种监控内存的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610283384.1A CN105975377B (zh) 2016-04-29 2016-04-29 一种监控内存的方法及装置

Publications (2)

Publication Number Publication Date
CN105975377A CN105975377A (zh) 2016-09-28
CN105975377B true CN105975377B (zh) 2018-05-25

Family

ID=56993572

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610283384.1A Active CN105975377B (zh) 2016-04-29 2016-04-29 一种监控内存的方法及装置

Country Status (1)

Country Link
CN (1) CN105975377B (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106021014B (zh) * 2016-05-12 2018-12-14 浪潮电子信息产业股份有限公司 一种内存管理方法及装置
CN107957923B (zh) * 2016-10-14 2020-06-02 华为技术有限公司 一种内存诊断方法和装置
CN107423173A (zh) * 2017-05-19 2017-12-01 郑州云海信息技术有限公司 一种提升内存测试环节的优化方法
CN108804252A (zh) * 2018-06-15 2018-11-13 郑州云海信息技术有限公司 一种服务器内存故障检测方法、装置、设备及存储介质
CN109656765A (zh) * 2018-12-18 2019-04-19 郑州云海信息技术有限公司 一种服务器Memory Mode自动化测试工具
CN109614056B (zh) * 2018-12-28 2021-11-23 杭州迪普科技股份有限公司 一种应对内存自然老化的方法和装置
CN111506460B (zh) * 2020-04-16 2023-08-29 Oppo广东移动通信有限公司 内存故障的处理方法、装置、移动终端及存储介质
KR20230041103A (ko) * 2020-08-05 2023-03-23 후아웨이 테크놀러지 컴퍼니 리미티드 메모리 고장 처리 방법 및 장치
CN112256465A (zh) * 2020-10-22 2021-01-22 皇虎测试科技(深圳)有限公司 一种内存条错误的修复方法及装置
CN114518884A (zh) * 2020-11-19 2022-05-20 华为技术有限公司 修复弱内存序问题的方法及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103198000A (zh) * 2013-04-02 2013-07-10 浪潮电子信息产业股份有限公司 一种linux系统下的故障内存位置定位方法
CN103514068A (zh) * 2012-06-28 2014-01-15 北京百度网讯科技有限公司 内存故障自动定位方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ES2667322T3 (es) * 2014-06-24 2018-05-10 Huawei Technologies Co., Ltd. Método de tratamiento de fallos, dispositivo relacionado y ordenador

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103514068A (zh) * 2012-06-28 2014-01-15 北京百度网讯科技有限公司 内存故障自动定位方法
CN103198000A (zh) * 2013-04-02 2013-07-10 浪潮电子信息产业股份有限公司 一种linux系统下的故障内存位置定位方法

Also Published As

Publication number Publication date
CN105975377A (zh) 2016-09-28

Similar Documents

Publication Publication Date Title
CN105975377B (zh) 一种监控内存的方法及装置
US6012148A (en) Programmable error detect/mask utilizing bus history stack
US7991961B1 (en) Low-overhead run-time memory leak detection and recovery
Dean et al. Perfcompass: Online performance anomaly fault localization and inference in infrastructure-as-a-service clouds
CN106155883B (zh) 一种虚拟机可靠性测试方法及装置
US9804917B2 (en) Notification of address range including non-correctable error
US7861118B2 (en) Machine instruction level race condition detection
US20230195325A1 (en) Method and Apparatus for Auditing Abnormality of Block Device in Cloud Platform, Device, and Storage Medium
CN112579327B (zh) 一种故障检测方法、装置及设备
CN111625833B (zh) 一种高效的软件程序释放后重用漏洞判定方法和装置
CN103164316B (zh) 硬件监视器
CN107153453A (zh) 一种Linux系统复位处理方法及装置
CN105302726A (zh) 一种测试的方法及装置
CN111221775A (zh) 处理器、缓存处理方法及电子设备
US8046760B2 (en) Lock contention pinpointing
US6738885B1 (en) Device and method for storing information in memory
US6738938B2 (en) Method for collecting failure information for a memory using an embedded test controller
US20060168479A1 (en) Real time event logging and analysis in a software system
JPH02294739A (ja) 障害検出方式
CN106776169A (zh) 一种测试服务器的psu的方法及装置
CN109445877B (zh) 一种检测游戏服务器多线程使用同一虚拟机的方法
JP7049275B2 (ja) 診断データキャプチャ
CN106791823B (zh) 一种设备零码流故障处理方法、装置及电子设备
JP2007322263A (ja) 半導体試験システム
CN101158920A (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
GR01 Patent grant
GR01 Patent grant