CN106126368A - 一种linux下内存故障地址解析的方法 - Google Patents
一种linux下内存故障地址解析的方法 Download PDFInfo
- Publication number
- CN106126368A CN106126368A CN201610703414.XA CN201610703414A CN106126368A CN 106126368 A CN106126368 A CN 106126368A CN 201610703414 A CN201610703414 A CN 201610703414A CN 106126368 A CN106126368 A CN 106126368A
- Authority
- CN
- China
- Prior art keywords
- address
- memory
- error
- failure
- linux
- 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
- 238000000034 method Methods 0.000 title claims abstract description 22
- 238000004458 analytical method Methods 0.000 claims abstract description 7
- 238000013507 mapping Methods 0.000 claims description 3
- 238000012360 testing method Methods 0.000 claims description 3
- 238000012423 maintenance Methods 0.000 abstract description 3
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 230000032683 aging Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1012—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
- G06F11/1016—Error in accessing a memory location, i.e. addressing error
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1044—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices with specific ECC/EDC distribution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1405—Saving, restoring, recovering or retrying at machine instruction level
- G06F11/141—Saving, restoring, recovering or retrying at machine instruction level for bus or memory accesses
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明公开一种LINUX下内存故障地址解析的方法,涉及服务器技术领域,通过***发现到内存报错的***地址,进行一系列解析后对应到内存的物理地址,快速定位内存故障位置,完成内存故障分析;其具体实现包括如下步骤:1)获得内存故障的***地址,2)获得内存报错的物理地址。本发明在linux环境下对内存故障地址进行解析,将报错的***地址转换为内存条上的物理地址,快速定位内存故障位置,完成内存故障分析;实施简单,方便操作;便于用户和维护人员快速发现内存故障,及时进行内存运维工作,保障了服务器的稳定性。
Description
技术领域
本发明涉及服务器技术领域,具体的说是一种LINUX下内存故障地址解析的方法。
背景技术
内存是计算机中重要的部件之一,它是与CPU进行沟通的桥梁。计算机中所有程序的运行都是在内存中进行的,因此内存的性能对计算机的影响非常大。内存(Memory)用于暂时存放CPU中的运算数据,以及与硬盘等外部存储器交换的数据。只要计算机在运行中,CPU就会把需要运算的数据调到内存中进行运算,当运算完成后CPU再将结果传送出来,内存的运行也决定了计算机的稳定运行。内存是由内存芯片、电路板、金手指等部分组成的。
随着内存技术的快速发展,内存ECC报错问题逐渐凸显,当内存在客户端经过长时间的使用,内存产品会逐渐老化,从而产生故障。而内存是服务器***的关键组成部分,发生故障时会直接影响服务器的正常工作。
发明内容
本发明针对目前技术发展的需求和不足之处,提供一种ARM平台一种LINUX下内存故障地址解析的方法。
本发明所述一种LINUX下内存故障地址解析的方法,解决上述技术问题采用的技术方案如下:所述一种LINUX下内存故障地址解析的方法,在linux环境下,通过***发现到内存报错的***地址,进行一系列解析后对应到内存的物理地址,快速定位内存故障位置,完成内存故障分析;其具体实现包括如下步骤:1)获得内存故障的***地址,2)获得内存报错的物理地址。
优选的,所述获得内存故障的***地址主要包括:
对于ECC DIMM,当发生ECC错时,***把错误信息和错误的***地址记录到MSRs中,能够从MSRs中获得发生ECC错误的***地址;
对于Non-ECC DIMM,在读/写/比较的测试过程中能够直观的看到发生的错误,找到错误地址。
优选的,所述获得内存报错的物理地址主要包括:通过一层一层的地址解析获得报错的物理地址;首先从***地址中解析出Socket信息,之后判断是Socket中的哪一个Channel,接着解析出通道地址中的哪一个DIMM和Rank,最后根据Rank地址映射表确定Row,Column,DQ。
本发明所述一种LINUX下内存故障地址解析的方法与现有技术相比具有的有益效果是:本发明通过***发现到内存报错的***地址,进行一系列解析后对应到内存的详细物理地址,快速定位内存故障位置,完成内存故障分析,并且实施简单,方便操作;该方法能够快速定位内存故障地址,详细到Socket,Channel,DIMM,Rank,Bank,Row,Column,DQ,便于用户和维护人员快速发现内存故障,及时进行内存运维工作,保障了服务器的稳定性,提高服务器产品性能。
说明书附图
附图1为获得内存故障的***地址的示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,对本发明所述一种LINUX下内存故障地址解析的方法进一步详细说明。
本发明所述一种LINUX下内存故障地址解析的方法,在linux环境下对内存故障地址进行解析,将报错的***地址转换为内存条上的物理地址,快速定位内存故障位置,完成内存故障分析。***地址,即计算机***使用***地址来指示存储或读取数据的位置,可能是内存,设备,或CPU寄存器,***地址不能指示出物理内存地址。
实施例:
本实施例一种LINUX下内存故障地址解析的方法,通过***发现到内存报错的***地址,进行一系列解析后对应到内存的物理地址,快速定位内存故障位置,完成内存故障分析。本实施可以快速进行内存故障地址的定位,详细到Socket,Channel,DIMM,Rank,Bank,Row,Column,DQ,保障服务器的稳定性;其具体实现包括如下步骤:1)获得内存故障的***地址,2)获得内存报错的物理地址。
所述获得内存故障的***地址主要包括:
对于ECC DIMM(RDIMM,LRDIMM,ECC-SODIMM,ECC-UDIMM),处理器有很多不同的寄存器,其中一种是特殊模块寄存器Model Specific Registers(MSRs)。当发生ECC错时,***会把错误信息和错误的***地址记录到MSRs中,能够从MSRs中获得发生ECC错误的***地址;
对于Non-ECC DIMM(SODIMM,UDIMM),在Read/Write/Compar读/写/比较的测试过程中可以直观的看到发生的错误,找到错误地址;如附图1所示。
所述获得内存报错的物理地址主要包括:
通过一层一层的地址解析获得报错的物理地址,首先从***地址中解析出Socket信息,之后判断是Socket中的哪一个Channel,接着解析出通道地址中的哪一个DIMM和Rank,最后根据Rank地址映射表确定Row,Column,DQ。
本实施例所述LINUX下内存故障地址解析的方法,其具体实施过程如下:
将地址译码程序address_decoder拷贝入linux***中,输入./address_decoder–r运行address_decoder程序,当发生内存故障问题时,从***中获取到报错的***地址,进行一系列解析后提示发生故障的内存的物理地址(Socket,Channel,DIMM,Rank,Bank,Row,Column,DQ);并自动生成LOG,可以看到Fail Address和解析出的详细物理地址,包括Socket、Channel、Dimm、Bank、Row、Column、DQ和报错次数。
上述具体实施方式仅是本发明的具体个案,本发明的专利保护范围包括但不限于上述具体实施方式,任何符合本发明的权利要求书的且任何所属技术领域的普通技术人员对其所做的适当变化或替换,皆应落入本发明的专利保护范围。
Claims (3)
1.一种LINUX下内存故障地址解析的方法,其特征在于,在linux环境下,通过***发现到内存报错的***地址,进行一系列解析后对应到内存的物理地址,快速定位内存故障位置,完成内存故障分析;其具体实现包括如下步骤:1)获得内存故障的***地址,2)获得内存报错的物理地址。
2.根据权利要求1所述一种LINUX下内存故障地址解析的方法,其特征在于,所述获得内存故障的***地址主要包括:
对于ECC DIMM,当发生ECC错时,***把错误信息和错误的***地址记录到MSRs中,能够从MSRs中获得发生ECC错误的***地址;
对于Non-ECC DIMM,在读/写/比较的测试过程中能够直观的看到发生的错误,找到错误地址。
3.根据权利要求2所述一种LINUX下内存故障地址解析的方法,其特征在于,所述获得内存报错的物理地址主要包括:通过一层一层的地址解析获得报错的物理地址;首先从***地址中解析出Socket信息,之后判断是Socket中的哪一个Channel,接着解析出通道地址中的哪一个DIMM和Rank,最后根据Rank地址映射表确定Row,Column,DQ。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610703414.XA CN106126368A (zh) | 2016-08-22 | 2016-08-22 | 一种linux下内存故障地址解析的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610703414.XA CN106126368A (zh) | 2016-08-22 | 2016-08-22 | 一种linux下内存故障地址解析的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106126368A true CN106126368A (zh) | 2016-11-16 |
Family
ID=57273610
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610703414.XA Pending CN106126368A (zh) | 2016-08-22 | 2016-08-22 | 一种linux下内存故障地址解析的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106126368A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107092549A (zh) * | 2017-04-26 | 2017-08-25 | 郑州云海信息技术有限公司 | 一种自动监控并解析内存故障的工具及方法 |
CN107451051A (zh) * | 2017-06-29 | 2017-12-08 | 郑州云海信息技术有限公司 | 一种Linux下进行服务器内存诊断的方法 |
CN109508247A (zh) * | 2018-11-09 | 2019-03-22 | 英业达科技有限公司 | 定位内存错误发生位置的方法、***、及电子设备 |
CN109753378A (zh) * | 2019-01-02 | 2019-05-14 | 浪潮商用机器有限公司 | 一种内存故障的隔离方法、装置、***及可读存储介质 |
CN110718262A (zh) * | 2019-08-21 | 2020-01-21 | 深圳市金泰克半导体有限公司 | 定位故障内存颗粒所在rank的方法、装置、存储介质 |
CN112650612A (zh) * | 2020-12-24 | 2021-04-13 | 新华三云计算技术有限公司 | 一种内存故障定位方法及装置 |
CN113742123A (zh) * | 2021-08-20 | 2021-12-03 | 新华三技术有限公司合肥分公司 | 内存故障信息记录方法及设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002117691A (ja) * | 2000-10-10 | 2002-04-19 | Mitsubishi Electric Corp | 半導体集積回路 |
CN103197999A (zh) * | 2013-03-22 | 2013-07-10 | 北京百度网讯科技有限公司 | 一种内存故障自动定位方法及装置 |
CN103198000A (zh) * | 2013-04-02 | 2013-07-10 | 浪潮电子信息产业股份有限公司 | 一种linux***下的故障内存位置定位方法 |
CN103514068A (zh) * | 2012-06-28 | 2014-01-15 | 北京百度网讯科技有限公司 | 内存故障自动定位方法 |
CN103970661A (zh) * | 2014-05-19 | 2014-08-06 | 浪潮电子信息产业股份有限公司 | 一种利用ipmi工具进行批量服务器内存故障检测的方法 |
CN105204968A (zh) * | 2015-11-10 | 2015-12-30 | 浪潮(北京)电子信息产业有限公司 | 一种故障内存检测方法和装置 |
-
2016
- 2016-08-22 CN CN201610703414.XA patent/CN106126368A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002117691A (ja) * | 2000-10-10 | 2002-04-19 | Mitsubishi Electric Corp | 半導体集積回路 |
CN103514068A (zh) * | 2012-06-28 | 2014-01-15 | 北京百度网讯科技有限公司 | 内存故障自动定位方法 |
CN103197999A (zh) * | 2013-03-22 | 2013-07-10 | 北京百度网讯科技有限公司 | 一种内存故障自动定位方法及装置 |
CN103198000A (zh) * | 2013-04-02 | 2013-07-10 | 浪潮电子信息产业股份有限公司 | 一种linux***下的故障内存位置定位方法 |
CN103970661A (zh) * | 2014-05-19 | 2014-08-06 | 浪潮电子信息产业股份有限公司 | 一种利用ipmi工具进行批量服务器内存故障检测的方法 |
CN105204968A (zh) * | 2015-11-10 | 2015-12-30 | 浪潮(北京)电子信息产业有限公司 | 一种故障内存检测方法和装置 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107092549A (zh) * | 2017-04-26 | 2017-08-25 | 郑州云海信息技术有限公司 | 一种自动监控并解析内存故障的工具及方法 |
CN107451051A (zh) * | 2017-06-29 | 2017-12-08 | 郑州云海信息技术有限公司 | 一种Linux下进行服务器内存诊断的方法 |
CN109508247A (zh) * | 2018-11-09 | 2019-03-22 | 英业达科技有限公司 | 定位内存错误发生位置的方法、***、及电子设备 |
CN109508247B (zh) * | 2018-11-09 | 2022-02-11 | 英业达科技有限公司 | 定位内存错误发生位置的方法、***、及电子设备 |
CN109753378A (zh) * | 2019-01-02 | 2019-05-14 | 浪潮商用机器有限公司 | 一种内存故障的隔离方法、装置、***及可读存储介质 |
CN110718262A (zh) * | 2019-08-21 | 2020-01-21 | 深圳市金泰克半导体有限公司 | 定位故障内存颗粒所在rank的方法、装置、存储介质 |
CN112650612A (zh) * | 2020-12-24 | 2021-04-13 | 新华三云计算技术有限公司 | 一种内存故障定位方法及装置 |
CN113742123A (zh) * | 2021-08-20 | 2021-12-03 | 新华三技术有限公司合肥分公司 | 内存故障信息记录方法及设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106126368A (zh) | 一种linux下内存故障地址解析的方法 | |
CN108388489B (zh) | 一种服务器故障诊断方法、***、设备及存储介质 | |
Mi et al. | Toward fine-grained, unsupervised, scalable performance diagnosis for production cloud computing systems | |
Hwang et al. | Cosmic rays don't strike twice: Understanding the nature of DRAM errors and the implications for system design | |
US8498995B1 (en) | Optimizing data retrieval during event data query processing | |
US9612936B2 (en) | Correlation of source code with system dump information | |
DE102012210232B4 (de) | Vorbeugende Speicherreparatur auf der Grundlage der Analyse einer Vielzahl von Symbolen und Bereinigungszyklen | |
US20150100296A1 (en) | Method and system for automated test and result comparison | |
WO2016090908A1 (zh) | 智能电表嵌入式应用的模拟存储器测试板***及测试方法 | |
CN105930242B (zh) | 一种支持精确访存检测的多核处理器随机验证方法及装置 | |
CN106557145A (zh) | 断电保护***及其方法 | |
CN103778030B (zh) | 日志子***写入方法、错误追踪方法及处理器 | |
CN103970661A (zh) | 一种利用ipmi工具进行批量服务器内存故障检测的方法 | |
CN107025167B (zh) | 在处理器追踪日志中使用编译器类型信息进行数据流分析的方法和设备 | |
CN108766501B (zh) | 一种具有edac容错的存储器故障注入设计及验证方法 | |
US20150331733A1 (en) | Tag based selection of test scripts for failure analysis | |
US11782609B2 (en) | Method and apparatus for auditing abnormality of block device in cloud platform, device, and storage medium | |
CN102841832B (zh) | 出错内存条定位方法 | |
CN107870850A (zh) | 一种高效的互联网应用日志*** | |
CN110493085A (zh) | IPv6活跃用户数的统计方法、***、电子设备及介质 | |
CN106372153A (zh) | 一种基于日志文件***的记录设备故障诊断方法 | |
CN107992399A (zh) | 一种内存条状态检测方法、装置及*** | |
CN110362435B (zh) | Purley平台服务器的PCIE故障定位方法、装置、设备及介质 | |
CN102999663A (zh) | 一种soc芯片中的mmu的验证方法 | |
CN107590017A (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 | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20161116 |