CN107273259A - 一种Linux系统下基于IDK内存注错的测试方法及系统 - Google Patents
一种Linux系统下基于IDK内存注错的测试方法及系统 Download PDFInfo
- Publication number
- CN107273259A CN107273259A CN201710427886.1A CN201710427886A CN107273259A CN 107273259 A CN107273259 A CN 107273259A CN 201710427886 A CN201710427886 A CN 201710427886A CN 107273259 A CN107273259 A CN 107273259A
- Authority
- CN
- China
- Prior art keywords
- memory
- abnormal
- internal memory
- idk
- exception
- 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
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
- G06F11/261—Functional testing by simulating additional hardware, e.g. fault simulation
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明提供了一种Linux系统下基于IDK内存注错的测试方法及系统,通过模拟当内存出现可修复或者不可修复错误,检查相关硬件是否有报警,当内存阈值达到一定值后,内存指示灯点亮,前控板内存异常指示灯点亮,同时BMC下定位内存出现的异常,当报可修复的异常的时,通过清除阈值,使内存回复正常工作,当报不可修复的异常的时,更换内存;本发明快速简单实现模拟环境,测试相关功能是否实现,直接定位到故障内存的具体槽位,更高效的筛选出故障内存,简化测试流程,提高服务器的稳定性。
Description
技术领域
本发明涉及计算机服务器的技术领域,具体涉及到一种Linux系统下基于IDK内存注错的测试方法及系统。
背景技术
在服务器领域中,内存是服务器中重要的部件之一,它是与CPU进行沟通的桥梁。服务器中所有程序的运行都是在内存中进行的,因此内存的性能对服务器的影响非常大。内存(Memory)也被称为内存储器,其作用是用于暂时存放CPU中的运算数据,以及与硬盘等外部存储器交换的数据。只要服务器在运行中,CPU就会把需要运算的数据调到内存中进行运算,当运算完成后CPU再将结果传送出来,内存的运行也决定了服务器的稳定运行。内存是服务器系统的关键组成部分,内存的好坏直接影响服务器的正常工作。
在现有技术中,当内存出错时,对内存的诊断技术较为复杂且稳定性无法得到保证,无法对内存简单快速稳定地诊断测试。
发明内容
基于上述问题,本发明提出一种Linux系统下基于IDK内存注错的测试方法及系统。本发明快速简单实现模拟环境,测试相关功能是否实现,直接定位到故障内存的具体槽位,更高效的筛选出故障内存,简化测试流程,提高服务器的稳定性。
本发明提供如下技术方案:
一方面,本发明提供一种Linux系统下基于IDK内存注错的测试方法,包括:
步骤101,运行脚本程序,获取主机名,设置内存注错位置及内存阈值,执行内存注错;
步骤102,判断内存阈值是否达到预设阈值,若是则内存指示灯点亮,前控板内存异常指示灯点亮;
步骤103,BMC定位所述内存异常,并存储在BMC日志中;
步骤104,判断所述内存异常的类型,所述类型包括可修复异常和不可修复异常,当所述内存异常为可修复异常则通过清除阈值来清除所述内存异常,当所述异常为不可修复异常则告警。
其中,在运行脚本之前,将IDK工具复制到Linux系统下解压,进入IDK工具运行脚本程序。
其中,所述内存注错可以注可修复错误或者不可修复错误。
其中,所述预设阈值为2048。
另外,本发明还提供一种Linux系统下基于IDK内存注错的测试系统,所述系统包括:注错模块,用于运行脚本程序,获取主机名,设置内存注错位置及内存阈值,执行内存注错;判断模块,用于判断内存阈值是否达到预设阈值,若是则内存指示灯点亮,前控板内存异常指示灯点亮;
定位模块,用于BMC定位所述内存异常,并存储在BMC日志中;
修复模块,用于判断所述内存异常的类型,所述类型包括可修复异常和不可修复异常,当所述内存异常为可修复异常则通过清除阈值来清除所述内存异常,当所述异常为不可修复异常则告警。
其中,在运行脚本之前,将IDK工具复制到Linux系统下解压,进入IDK工具运行脚本程序。
其中,所述内存注错可以注可修复错误或者不可修复错误。
其中,所述预设阈值为2048。
本发明提供了一种Linux系统下基于IDK内存注错的测试方法及系统,通过模拟当内存出现可修复或者不可修复错误,检查相关硬件是否有报警,当内存阈值达到一定值后,内存指示灯点亮,前控板内存异常指示灯点亮,同时BMC下定位内存出现的异常,当报可修复的异常的时,通过清除阈值,使内存回复正常工作,当报不可修复的异常的时,更换内存;本发明快速简单实现模拟环境,测试相关功能是否实现,直接定位到故障内存的具体槽位,更高效的筛选出故障内存,简化测试流程,提高服务器的稳定性。
附图说明
图1是本发明的方法步骤流程图;
图2是本发明的系统结构框图。
具体实施方式
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
本发明提供一种Linux系统下基于IDK内存注错的测试方法,包括:
步骤101,运行脚本程序,获取主机名,设置内存注错位置及内存阈值,执行内存注错;
将IDK工具复制到Linux系统下,关闭防火墙(iptables-F),安装Python-2.7.11
(①tar–zxvf Python-2.7.11.tgz②cd Python-2.7.11③./configure④make⑤make
install),根据系统版本选择core版本解压缩(tar–zxvf idk_core_3.45_linux_rhel_7_
2.tgz),开始监控(①cd idk_core②./install_driver.sh③./idk_core),解压缩IDK_
Client_3.45.zip(unzip IDK_Client_3.45.zip),然后进入IDK_Client_3.45,运行
python2test.py;
Test.py脚本信息如下:
import purley
import math
pur=purley.connect("localhost")
die=purley.ondie.ondie(pur)
sa=pur.at.ReverseTranslate({"socket":0,"imc":0,"channel":0,"dimm":0,"rank":0})["address"]#此处注错的位置
for i in range(2048):#此处是BIOS Setup下默认的阈值
die.mem_inject_ondie(SA=sa,error_type="ECC_1",retries=3,target_channel="primary")
pur.ShowMemErrors(),其中,#ECC_1为可修复的错误/异常,ECC_2为不可修复的错误/异常。
步骤102,判断内存阈值是否达到预设阈值,若是则内存指示灯点亮,前控板内存异常指示灯点亮;
当内存阈值达到一定值后,该一定值为预设阈值,内存指示灯就会亮,前控板内存异常指示灯会亮。
步骤103,BMC定位所述内存异常,并存储在BMC日志中;
BMC下也可定位那个内存出现的异常,用户可根据BMC下报的日志做相关的操作。
步骤104,判断所述内存异常的类型,所述类型包括可修复异常和不可修复异常,当所述内存异常为可修复异常则通过清除阈值来清除所述内存异常,当所述异常为不可修复异常则告警。
当报可修复的error的时候,用户可通过清除阈值,所述清除阈值为自动清除或手动清除,使内存回复正常工作;当报不可修复的error的时候,用户就必须更换内存,以保证服务器的稳定性。
本发明提供了一种Linux系统下基于IDK内存注错的测试方法,通过模拟当内存出现可修复或者不可修复错误,检查相关硬件是否有报警,当内存阈值达到一定值后,内存指示灯点亮,前控板内存异常指示灯点亮,同时BMC下定位内存出现的异常,当报可修复的异常的时,通过清除阈值,使内存回复正常工作,当报不可修复的异常的时,更换内存;本发明快速简单实现模拟环境,测试相关功能是否实现,直接定位到故障内存的具体槽位,更高效的筛选出故障内存,简化测试流程,提高服务器的稳定性。
本发明的实施方式还提供了一种Linux系统下基于IDK内存注错的测试系统,包括:
注错模块201,用于运行脚本程序,获取主机名,设置内存注错位置及内存阈值,执行内存注错;
将IDK工具复制到Linux系统下,关闭防火墙(iptables-F),安装Python-2.7.11
(①tar–zxvf Python-2.7.11.tgz②cd Python-2.7.11③./configure④make⑤make
install),根据系统版本选择core版本解压缩(tar–zxvf idk_core_3.45_linux_rhel_7_
2.tgz),开始监控(①cd idk_core②./install_driver.sh③./idk_core),解压缩IDK_
Client_3.45.zip(unzip IDK_Client_3.45.zip),然后进入IDK_Client_3.45,运行
python2test.py;
Test.py脚本信息如下:
import purley
import math
pur=purley.connect("localhost")
die=purley.ondie.ondie(pur)
sa=pur.at.ReverseTranslate({"socket":0,"imc":0,"channel":0,"dimm":0,"rank":0})["address"]#此处注错的位置
for i in range(2048):#此处是BIOS Setup下默认的阈值
die.mem_inject_ondie(SA=sa,error_type="ECC_1",retries=3,target_channel="primary")
pur.ShowMemErrors(),其中,#ECC_1为可修复的错误/异常,ECC_2为不可修复的错误/异常。
判断模块202,用于判断内存阈值是否达到预设阈值,若是则内存指示灯点亮,前控板内存异常指示灯点亮;
当内存阈值达到一定值后,该一定值为预设阈值,内存指示灯就会亮,前控板内存异常指示灯会亮。
定位模块203,用于BMC定位所述内存异常,并存储在BMC日志中;
BMC下也可定位那个内存出现的异常,用户可根据BMC下报的日志做相关的操作
修复模块204,用于判断所述内存异常的类型,所述类型包括可修复异常和不可修复异常,当所述内存异常为可修复异常则通过清除阈值来清除所述内存异常,当所述异常为不可修复异常则告警。
当报可修复的error的时候,用户可通过清除阈值,所述清除阈值为自动清除或手动清除,使内存回复正常工作;当报不可修复的error的时候,用户就必须更换内存,以保证服务器的稳定性。
本发明提供了一种Linux系统下基于IDK内存注错的测试系统,通过模拟当内存出现可修复或者不可修复错误,检查相关硬件是否有报警,当内存阈值达到一定值后,内存指示灯点亮,前控板内存异常指示灯点亮,同时BMC下定位内存出现的异常,当报可修复的异常的时,通过清除阈值,使内存回复正常工作,当报不可修复的异常的时,更换内存;本发明快速简单实现模拟环境,测试相关功能是否实现,直接定位到故障内存的具体槽位,更高效的筛选出故障内存,简化测试流程,提高服务器的稳定性。
对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其他实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (8)
1.一种Linux系统下基于IDK内存注错的测试方法,其特征在于:
步骤101,运行脚本程序,获取主机名,设置内存注错位置及内存阈值,执行内存注错;
步骤102,判断内存阈值是否达到预设阈值,若是则内存指示灯点亮,前控板内存异常指示灯点亮;
步骤103,BMC定位所述内存异常,并存储在BMC日志中;
步骤104,判断所述内存异常的类型,所述类型包括可修复异常和不可修复异常,当所述内存异常为可修复异常则通过清除阈值来清除所述内存异常,当所述异常为不可修复异常则告警。
2.根据权利要求1所述的方法,其特征在于:在运行脚本之前,将IDK工具复制到Linux系统下解压,进入IDK工具运行脚本程序。
3.根据权利要求1所述的方法,其特征在于:所述内存注错可以注可修复错误或者不可修复错误。
4.根据权利要求1所述的方法,其特征在于:所述预设阈值为2048。
5.一种Linux系统下基于IDK内存注错的测试系统,其特征在于:所述系统包括:
注错模块,用于运行脚本程序,获取主机名,设置内存注错位置及内存阈值,执行内存注错;
判断模块,用于判断内存阈值是否达到预设阈值,若是则内存指示灯点亮,前控板内存异常指示灯点亮;
定位模块,用于BMC定位所述内存异常,并存储在BMC日志中;
修复模块,用于判断所述内存异常的类型,所述类型包括可修复异常和不可修复异常,当所述内存异常为可修复异常则通过清除阈值来清除所述内存异常,当所述异常为不可修复异常则告警。
6.根据权利要求5所述的系统,其特征在于:在运行脚本之前,将IDK工具复制到Linux系统下解压,进入IDK工具运行脚本程序。
7.根据权利要求5所述的系统,其特征在于:所述内存注错可以注可修复错误或者不可修复错误。
8.根据权利要求5所述的系统,其特征在于:所述预设阈值为2048。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710427886.1A CN107273259A (zh) | 2017-06-08 | 2017-06-08 | 一种Linux系统下基于IDK内存注错的测试方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710427886.1A CN107273259A (zh) | 2017-06-08 | 2017-06-08 | 一种Linux系统下基于IDK内存注错的测试方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107273259A true CN107273259A (zh) | 2017-10-20 |
Family
ID=60067406
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710427886.1A Pending CN107273259A (zh) | 2017-06-08 | 2017-06-08 | 一种Linux系统下基于IDK内存注错的测试方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107273259A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112925670A (zh) * | 2021-03-17 | 2021-06-08 | 江西昌河汽车有限责任公司 | 一种基于ecc机制的flash异常自修复处理系统 |
CN113064773A (zh) * | 2021-03-08 | 2021-07-02 | 山东英信计算机技术有限公司 | 一种内存ppr测试与修复方法、系统及存储介质 |
CN113064782A (zh) * | 2021-03-22 | 2021-07-02 | 山东英信计算机技术有限公司 | 一种内存注错自动化系统、使用方法及介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020120697A1 (en) * | 2000-08-14 | 2002-08-29 | Curtis Generous | Multi-channel messaging system and method |
CN102799506A (zh) * | 2012-06-29 | 2012-11-28 | 浪潮电子信息产业股份有限公司 | 一种定位故障内存的方法 |
CN104268052A (zh) * | 2014-10-21 | 2015-01-07 | 浪潮电子信息产业股份有限公司 | 一种基于ITP工具的Memory Rank Spare测试方法 |
CN104317690A (zh) * | 2014-10-21 | 2015-01-28 | 浪潮电子信息产业股份有限公司 | 一种基于ITP工具的Memory Demand Scrub测试方法 |
CN104484274A (zh) * | 2014-12-24 | 2015-04-01 | 浪潮电子信息产业股份有限公司 | 一种基于itp工具的内存轮巡检查功能测试方法 |
-
2017
- 2017-06-08 CN CN201710427886.1A patent/CN107273259A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020120697A1 (en) * | 2000-08-14 | 2002-08-29 | Curtis Generous | Multi-channel messaging system and method |
CN102799506A (zh) * | 2012-06-29 | 2012-11-28 | 浪潮电子信息产业股份有限公司 | 一种定位故障内存的方法 |
CN104268052A (zh) * | 2014-10-21 | 2015-01-07 | 浪潮电子信息产业股份有限公司 | 一种基于ITP工具的Memory Rank Spare测试方法 |
CN104317690A (zh) * | 2014-10-21 | 2015-01-28 | 浪潮电子信息产业股份有限公司 | 一种基于ITP工具的Memory Demand Scrub测试方法 |
CN104484274A (zh) * | 2014-12-24 | 2015-04-01 | 浪潮电子信息产业股份有限公司 | 一种基于itp工具的内存轮巡检查功能测试方法 |
Non-Patent Citations (1)
Title |
---|
百度文库: "IDK User’s Guide", 《HTTPS://WENKU.BAIDU.COM/VIEW/3AA3622D0242A8956AECE466.HTML》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113064773A (zh) * | 2021-03-08 | 2021-07-02 | 山东英信计算机技术有限公司 | 一种内存ppr测试与修复方法、系统及存储介质 |
CN113064773B (zh) * | 2021-03-08 | 2023-03-24 | 山东英信计算机技术有限公司 | 一种内存ppr测试与修复方法、系统及存储介质 |
CN112925670A (zh) * | 2021-03-17 | 2021-06-08 | 江西昌河汽车有限责任公司 | 一种基于ecc机制的flash异常自修复处理系统 |
CN112925670B (zh) * | 2021-03-17 | 2023-07-21 | 江西昌河汽车有限责任公司 | 一种基于ecc机制的flash异常自修复处理系统 |
CN113064782A (zh) * | 2021-03-22 | 2021-07-02 | 山东英信计算机技术有限公司 | 一种内存注错自动化系统、使用方法及介质 |
CN113064782B (zh) * | 2021-03-22 | 2023-03-24 | 山东英信计算机技术有限公司 | 一种内存注错自动化系统、使用方法及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10204698B2 (en) | Method to dynamically inject errors in a repairable memory on silicon and a method to validate built-in-self-repair logic | |
CN103186461B (zh) | 一种现场数据的保存方法和恢复方法以及相关装置 | |
CN104317690B (zh) | 一种基于ITP工具的Memory Demand Scrub测试方法 | |
CN100498715C (zh) | 利用bios模拟ipmi的方法 | |
US8972785B2 (en) | Classifying processor testcases | |
CN104484274B (zh) | 一种基于itp工具的内存轮巡检查功能测试方法 | |
CN107273259A (zh) | 一种Linux系统下基于IDK内存注错的测试方法及系统 | |
US20160283354A1 (en) | Technologies for application validation in persistent memory systems | |
JP2010173633A (ja) | 制御装置を調整するための方法および操作ユニット | |
CN109308236A (zh) | 一种热插拔功能测试方法、装置及相关设备 | |
Goli et al. | Automatic equivalence checking for SystemC-TLM 2.0 models against their formal specifications | |
US20120124425A1 (en) | Method and Apparatus Useful In Manufacturing Test Case Operations | |
US7243059B2 (en) | Simulation of hardware based on smart buffer objects | |
CN107632912A (zh) | 一种windows系统下的内存诊断测试方法 | |
CN107562593A (zh) | 一种验证内存ecc功能的自动化测试方法与系统 | |
JP2006309576A (ja) | 論理システムの検証装置及び検証方法、記憶媒体及びコンピュータプログラム | |
CN107562565A (zh) | 一种验证内存Patrol Scurb功能的方法 | |
CN115580550A (zh) | 网卡稳定性测试方法、装置、设备及存储介质 | |
CN112069009A (zh) | 一种在Recovery模式下进行压力测试的方法、装置和终端设备 | |
CN112765021A (zh) | 一种引导程序的调试检验方法、装置、设备及存储介质 | |
CN117331765A (zh) | 一种热插拔自动测试方法、系统、设备和介质 | |
CN104298624B (zh) | 一种安全下载方法、装置及系统 | |
TWI707229B (zh) | 電腦裝置的內建記憶體檢測方法 | |
CN111863116B (zh) | 一种多磁盘指示灯测试方法、系统及装置 | |
CN113407372B (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20171020 |
|
RJ01 | Rejection of invention patent application after publication |