CN105786668A - 一种基于Redhat系统下内存错误检测方法 - Google Patents
一种基于Redhat系统下内存错误检测方法 Download PDFInfo
- Publication number
- CN105786668A CN105786668A CN201610199778.9A CN201610199778A CN105786668A CN 105786668 A CN105786668 A CN 105786668A CN 201610199778 A CN201610199778 A CN 201610199778A CN 105786668 A CN105786668 A CN 105786668A
- Authority
- CN
- China
- Prior art keywords
- under
- error
- value
- internal memory
- memory
- 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
- 238000001514 detection method Methods 0.000 title abstract description 6
- 238000012360 testing method Methods 0.000 claims abstract description 28
- 238000000034 method Methods 0.000 claims description 15
- 238000004458 analytical method Methods 0.000 description 5
- 230000000875 corresponding effect Effects 0.000 description 3
- 238000000151 deposition Methods 0.000 description 2
- 238000012937 correction Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000009434 installation Methods 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/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/26—Functional testing
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明公开一种基于Redhat系统下内存错误检测方法,属于系统内存测试领域;本发明针对于correctable memory error的检测,通过msr‑tool工具,实现自定义时间间隔读取寄存器信息,达到检测内存报错的目的,可以在BIOS未将报错发送给系统,读取到错误,使测试更准确,并且脚本能够在每隔一段时间进行抓取log,通过查看log,可以得到内存出现报错的准确时间,用于从环境等其他方面分析报错,简单实用。
Description
技术领域
本发明公开一种基于Redhat系统下内存错误检测方法,属于系统内存测试领域。
背景技术
随着人们对网络安全的逐渐重视,国内服务器迎来了快速发展的机遇,发展到现在,服务器已经经过了几代的升级,每一次升级都会伴随着硬件配置不断提高,性能也成倍的增长。现在比较高端的服务器,已经开始支持高达12T的内存,由于硬件与软件支持的内存越来越多,相应的对服务器的稳定性要求也越来越高。
服务器的稳定性,很大一部分取决于内存的稳定性,内存作为计算机系统下反复高速读取的部件,在硬件设计以及环境因素等条件下,很容易出现报错,其中主要报错有两种,一种为uncorrectable memory error,这种报错为系统不可纠正报错,若出现这种报错,一般会导致系统出现严重问题,一种是correctable memory error,这种错误比较常见,服务器中内存出现这种报错,则会由BIOS将报错信息发给系统,系统会在日志中进行记录,相关报错会记录在mcelog中,但是BIOS中会设置阈值,极少量的correctable memoryerror不会影响系统正常运行,并且由于服务器所使用的内存支持纠错功能,BIOS不会发送给系统,只是在相应寄存器下记录该错误数量,当出现大量的报错,达到BIOS中所设置的阈值,才会触发BIOS发送给系统,但有时少量correctable memory error错误也能引起系统故障,且未被报送的correctable memory error错误不利于系统外部环境方面分析导致内存报错原因。本发明提供一种基于Redhat系统下内存错误检测方法,针对于correctablememory error的检测,通过msr-tool工具,实现自定义时间间隔读取寄存器信息,达到检测内存报错的目的,可以在BIOS未将报错发送给系统,读取到错误,使测试更准确,并且脚本能够在每隔一段时间进行抓取log,通过查看log,可以得到内存出现报错的准确时间,用于从环境等其他方面分析报错,简单实用。
发明内容
本发明提供一种基于Redhat系统下内存错误检测方法,通过抓取寄存器信息来判断内存是否报错,相对于从系统下查看log来判定内存报错,更精确,并且通过实时抓取log信息,有利于从电压,温度等其他外部环境方面分析导致内存报错原因。
本发明提出的具体方案是:
一种基于Redhat系统下内存错误检测方法,对测试服务器在Redhat系统下进行内存压力测试,读取CPU寄存器值,确定每颗cpu下所使用的相关寄存器的值,将寄存器的值记录到日志文件夹下,查看寄存器的值是否为0,是则表示内存没有出现报错,否则表示内存出现报错;具体步骤为:
对测试的服务器,安装Redhat操作系统;
进入操作系统,使用root用户登录;
将meminfo文件夹拷贝到/root/文件夹下,打开终端,将执行指令添加到/etc/crontab文件中;
重新启动crond服务;
对系统下内存进行压力测试;
切换到相应日期下的文件夹下进行日志查看,寄存器的值是否为0,是则表示内存没有出现报错,否则表示内存出现报错。
Redhat系统调用msr-tool工具读取CPU寄存器值。
Redhat系统调用msr-tool工具,进行寄存器读取,压力测试脚本通过抓取/proc/cpuinfo文件下的physical id,确定CPU数量,通过msr-tool分别读取每颗cpu下所使用的相关寄存器的值。
重新启动crond服务,每隔一定时间执行一次寄存器值的抓取,通过查看日志信息,确定错误发生的时间。
本发明的有益之处是:
本发明提供一种基于Redhat系统下内存错误检测方法,针对于correctable memoryerror的检测,通过msr-tool工具,实现自定义时间间隔读取寄存器信息,达到检测内存报错的目的,可以在BIOS未将报错发送给系统,读取到错误,使测试更准确,并且脚本能够在每隔一段时间进行抓取log,通过查看log,可以得到内存出现报错的准确时间,用于从环境等其他方面分析报错,简单实用。
附图说明
图1本发明测试流程示意图。
具体实施方式
一种基于Redhat系统下内存错误检测方法,对测试服务器在Redhat系统下进行内存压力测试,读取CPU寄存器值,确定每颗cpu下所使用的相关寄存器的值,将寄存器的值记录到日志文件夹下,查看寄存器的值是否为0,是则表示内存没有出现报错,否则表示内存出现报错;具体步骤为:
对测试的服务器,安装Redhat操作系统;
进入操作系统,使用root用户登录;
将meminfo文件夹拷贝到/root/文件夹下,打开终端,将执行指令添加到/etc/crontab文件中;
重新启动crond服务;
对系统下内存进行压力测试;
切换到相应日期下的文件夹下进行日志查看,寄存器的值是否为0,是则表示内存没有出现报错,否则表示内存出现报错。
根据上述方法及发明内容,结合附图对本发明做进一步说明。
一种基于Redhat系统下内存错误检测方法,对测试服务器在Redhat系统下进行内存压力测试,调用msr-tool工具,进行寄存器读取,压力测试脚本通过抓取/proc/cpuinfo文件下的physical id,确定CPU数量,通过msr-tool分别读取每颗cpu下所使用的相关寄存器的值,将寄存器的值记录到日志文件夹下,查看寄存器的值是否为0,是则表示内存没有出现报错,否则表示内存出现报错;具体步骤为:
对测试的服务器,安装Redhat6.4操作系统;
系统安装完成后,进入操作系统,使用root用户登录;
将meminfo文件夹拷贝到/root/文件夹下,打开终端,将执行指令/5 * * * * rootsource /root/meminfo/meminfo.sh添加到/etc/crontab文件vim /etc/crontab中;
重新启动crond服务:
Service crond restart
Stopping crond: [ OK ]
Starting crond: [ OK ]
每隔一定时间执行一次寄存器值的抓取,通过查看日志信息,确定错误发生的时间,比如每隔5分钟执行一次寄存器值的抓取;
对系统下内存进行压力测试;比如cpu0和cpu1的一组测试数据如下:
dump cpu0 msr register start
bank0:0
bank1:0
bank2:0
bank3:0
bank4:0
bank5:0
bank6:0
bank7:0
bank8:0
bank9:0
bank10:0
bank11:0
bank12:0
bank13:0
bank14:0
bank15:0
bank16:0
bank17:0
bank18:0
bank19:0
bank20:0
bank21:0
bank22:0
bank23:0
dump cpu0 msr register done
**********************************
dump cpu1 msr register start
bank0:0
bank1:0
bank2:0
bank3:0
bank4:0
bank5:0
bank6:0
bank7:0
bank8:0
bank9:0
bank10:0
bank11:0
bank12:0
bank13:0
bank14:0
bank15:0
bank16:0
bank17:0
bank18:0
bank19:0
bank20:0
bank21:0
bank22:0
bank23:0
dump cpu1 msr register done
切换到/var/log/meminfo-log目录下,通过ls命令查看文件,会有以当前日期命名的文件夹,可以进行日志查看寄存器的值是否为0,是则表示内存没有出现报错,否则表示内存出现报错。
原有的实际内存压力测试中,内存报错达到阈值后,才会由BIOS将报错信息发送给系统,某些内存压力测试下,实际情况下,内存已经出现了报错,在压力测试完成时,并未达到BIOS阈值,而系统下并未出现报错提示,尤其当机器断电后,所有报错信息也都一并丢失了,而本发明方法可以在BIOS未将报错发送给系统,就能读取到错误,并且脚本能够在每隔一段时间进行抓取log,通过查看log,可以得到内存出现报错的准确时间,用于从环境等其他方面分析报错,简单实用。
Claims (4)
1.一种基于Redhat系统下内存错误检测方法,其特征是对测试服务器在Redhat系统下进行内存压力测试,读取CPU寄存器值,确定每颗cpu下所使用的相关寄存器的值,将寄存器的值记录到日志文件夹下,查看寄存器的值是否为0,是则表示内存没有出现报错,否则表示内存出现报错;具体步骤为:
对测试的服务器,安装Redhat操作系统;
进入操作系统,使用root用户登录;
将meminfo文件夹拷贝到/root/文件夹下,打开终端,将执行指令添加到/etc/crontab文件中;
重新启动crond服务;
对系统下内存进行压力测试;
切换到相应日期下的文件夹下进行日志查看,寄存器的值是否为0,是则表示内存没有出现报错,否则表示内存出现报错。
2.根据权利要求1所述的方法,其特征是Redhat系统调用msr-tool工具读取CPU寄存器值。
3.根据权利要求2所述的方法,其特征是Redhat系统调用msr-tool工具,进行寄存器读取,压力测试脚本通过抓取/proc/cpuinfo文件下的physical id,确定CPU数量,通过msr-tool分别读取每颗cpu下所使用的相关寄存器的值。
4.根据权利要求1或2所述的方法,其特征是重新启动crond服务,每隔一定时间执行一次寄存器值的抓取,通过查看日志信息,确定错误发生的时间。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610199778.9A CN105786668A (zh) | 2016-04-01 | 2016-04-01 | 一种基于Redhat系统下内存错误检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610199778.9A CN105786668A (zh) | 2016-04-01 | 2016-04-01 | 一种基于Redhat系统下内存错误检测方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105786668A true CN105786668A (zh) | 2016-07-20 |
Family
ID=56395263
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610199778.9A Pending CN105786668A (zh) | 2016-04-01 | 2016-04-01 | 一种基于Redhat系统下内存错误检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105786668A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109144669A (zh) * | 2018-08-15 | 2019-01-04 | 郑州云海信息技术有限公司 | 一种mcs系统下nas虚拟机系统的压力测试方法与系统 |
CN110380817A (zh) * | 2019-06-28 | 2019-10-25 | 苏州浪潮智能科技有限公司 | 持续抓取crc报错数量的方法、装置、终端及存储介质 |
CN110781053A (zh) * | 2019-09-29 | 2020-02-11 | 苏州浪潮智能科技有限公司 | 一种检测内存降级错误的方法和装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103198000A (zh) * | 2013-04-02 | 2013-07-10 | 浪潮电子信息产业股份有限公司 | 一种linux系统下的故障内存位置定位方法 |
CN103218285A (zh) * | 2013-03-25 | 2013-07-24 | 北京百度网讯科技有限公司 | 基于cpu寄存器的内存性能监控方法与装置 |
CN103744764A (zh) * | 2013-12-26 | 2014-04-23 | 浪潮电子信息产业股份有限公司 | 一种基于Crontab的整机内存稳定性的测试方法 |
-
2016
- 2016-04-01 CN CN201610199778.9A patent/CN105786668A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103218285A (zh) * | 2013-03-25 | 2013-07-24 | 北京百度网讯科技有限公司 | 基于cpu寄存器的内存性能监控方法与装置 |
CN103198000A (zh) * | 2013-04-02 | 2013-07-10 | 浪潮电子信息产业股份有限公司 | 一种linux系统下的故障内存位置定位方法 |
CN103744764A (zh) * | 2013-12-26 | 2014-04-23 | 浪潮电子信息产业股份有限公司 | 一种基于Crontab的整机内存稳定性的测试方法 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109144669A (zh) * | 2018-08-15 | 2019-01-04 | 郑州云海信息技术有限公司 | 一种mcs系统下nas虚拟机系统的压力测试方法与系统 |
CN110380817A (zh) * | 2019-06-28 | 2019-10-25 | 苏州浪潮智能科技有限公司 | 持续抓取crc报错数量的方法、装置、终端及存储介质 |
CN110781053A (zh) * | 2019-09-29 | 2020-02-11 | 苏州浪潮智能科技有限公司 | 一种检测内存降级错误的方法和装置 |
US11853150B2 (en) | 2019-09-29 | 2023-12-26 | Inspur Suzhou Intelligent Technology Co., Ltd. | Method and device for detecting memory downgrade error |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103198000A (zh) | 一种linux系统下的故障内存位置定位方法 | |
CN104572422A (zh) | 一种基于Linux系统开关机下内存监测实现方法 | |
CN109710501B (zh) | 一种服务器数据传输稳定性的检测方法和系统 | |
CN104407951A (zh) | 一种自动化进行服务器整机测试的方法 | |
CN105786668A (zh) | 一种基于Redhat系统下内存错误检测方法 | |
CN104615523A (zh) | 一种基于ipmi协议的bmc管理模块疲劳测试方法 | |
CN113821200B (zh) | 大数据任务可拖拽建模方法、系统、存储介质和终端 | |
CN105743707A (zh) | 一种基于Redhat系统测试BMC日志解析功能的方法 | |
CN108572895B (zh) | 一种Linux下自动检查软硬件配置的稳定性测试方法 | |
CN107590017B (zh) | 一种电子设备的检测方法和装置 | |
WO2021056913A1 (zh) | 基于i2c通讯的故障定位方法、装置及系统 | |
CN112231130A (zh) | 一种根据日志定位故障的方法、系统、设备及介质 | |
CN104102563A (zh) | 一种发现服务器系统的mca错误的方法及装置 | |
US8949669B1 (en) | Error detection, correction and triage of a storage array errors | |
CN104063308B (zh) | 数据的验证方法及装置 | |
CN108600690A (zh) | 基于图像识别的仪表盘抄表方法及系统、存储介质及服务器 | |
CN107562565A (zh) | 一种验证内存Patrol Scurb功能的方法 | |
CN116820932A (zh) | 一种bmc故障诊断方法、装置、设备及介质 | |
CN102279797A (zh) | 一种检测内存泄漏的方法及系统 | |
Wang et al. | MisconfDoctor: diagnosing misconfiguration via log-based configuration testing | |
CN116401086A (zh) | 内存漏斗错误上报机制的测试方法、装置、设备及介质 | |
CN112213980A (zh) | 一种单片机故障诊断板卡及方法 | |
CN101316429A (zh) | 一种手机及其自动发送错误报告的方法 | |
CN109687929B (zh) | 实现host-box多级级联服务器时间同步的方法 | |
CN117407207B (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: 20160720 |
|
RJ01 | Rejection of invention patent application after publication |