[发明专利]一种故障内存检测方法和装置有效
申请号: | 201510763358.4 | 申请日: | 2015-11-10 |
公开(公告)号: | CN105204968B | 公开(公告)日: | 2019-05-10 |
发明(设计)人: | 常现超 | 申请(专利权)人: | 浪潮(北京)电子信息产业有限公司 |
主分类号: | G06F11/22 | 分类号: | G06F11/22 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 罗满 |
地址: | 100085 北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 故障 内存 检测 方法 装置 | ||
本发明实施例提供一种故障内存检测方法和装置,其中方法包括:实时监测内存运行状态,当检测到内存发生故障时,生成包括故障内存物理地址的故障信息,获取该故障信息,根据该故障信息得到故障内存的物理地址,通过系统内核获取所有遵从PCI标准、PCI‑X或PCI‑E标准的插槽,解析获取所有置于插槽上内存的运行信息,根据该运行信息得到所有置于插槽上内存的物理地址变化范围,根据故障内存的物理地址和所有置于插槽上内存的物理地址变化范围,定位得到故障内存。保证了查找结果正确性,同时,具有更高的工作效率,使能及时发现并有效地处理内存故障,减少因内存故障对应用服务造成危害,提高了系统的稳定及可靠性。
技术领域
本发明涉及计算机应用领域,特别是涉及一种故障内存检测方法和装置。
背景技术
随着计算机技术以及集成电路技术的飞速发展,不论从软件还是硬件,计算机都得到了飞速提升。由于计算机硬件的增加,同时也提高了计算机硬件的故障率,尤其是在内存方面,现在的应用程序为了提高性能,对内存的需求越来越大,计算机内插入的内存条的数目也随之增加,这就使得内存的故障概率大大提升。假如一组内存条中的某一个内存条发生故障,而服务程序可能使用到故障的内存条,从而使服务变得不稳定,甚至出现数据混乱,造成巨大损失。目前,当内存出现故障时,通过人工的方式从数据库中获取内存信息,然后对获取的内存信息进行分析,最后查找得到故障的内存,由于人工工作速率和反映速率有限,并且存在较高的出错率,因此,通过人工的方式从数据库中获取得到内存信息,并分析得到故障内存,不能保证分析得到的故障内存的准确性,得到故障内存的效率也较低,使得不能及时有效地处理内存故障,对应用服务造成危害,严重影响了系统的稳定及可靠性。
发明内容
有鉴于此,本发明实施例提供一种故障内存检测方法和装置,以解决现有技术中当内存出现故障时,通过人工的方式从数据库中获取内存信息,然后对获取的内存信息进行分析,最后查找得到故障的内存,不能保证分析得到的故障内存的准确性,得到故障内存的效率也较低,使得不能及时有效地处理内存故障,对应用服务造成危害,严重影响了系统的稳定及可靠性的问题。
为实现上述目的,本发明实施例提供如下技术方案:
一种故障内存检测方法,包括:
实时监测内存运行状态,当检测到内存发生故障时,生成包括故障内存物理地址的故障信息,获取所述故障信息,根据所述故障信息得到故障内存的物理地址;
通过系统内核获取所有遵从PCI标准、PCI-X或PCI-E标准的插槽,解析获取所有置于所述插槽上内存的运行信息,得到所有置于所述插槽上内存的物理地址变化范围;
根据所述故障内存的物理地址和所有置于所述插槽上内存的物理地址变化范围,定位得到故障内存。
其中,所述定位得到故障内存后还包括:
对所述故障内存进行逻辑离线操作,将所述故障内存内数据迁移至其他正常运行内存中。
其中,当所述故障内存检测方法用于Linux系统时,通过所述Linux系统内mcelog程序实时监测内存运行状态,当检测到内存发生故障时,由所述mcelog程序生成包括故障内存物理地址的故障信息。
其中,所述生成包括故障内存物理地址的故障信息后包括:将所述故障信息保存在寄存器中。
其中,所述获取所述故障信息包括:
判断所述寄存器中存储有故障信息;
若存储有,则获取所述存储在所述寄存器中的故障信息。
其中,所述通过系统内核获取所有遵从PCI标准、PCI-X或PCI-E标准的插槽后还包括:
获取所有所述插槽的运行信息,确定所有所述插槽中当前正在使用的正在运行插槽;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮(北京)电子信息产业有限公司,未经浪潮(北京)电子信息产业有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510763358.4/2.html,转载请声明来源钻瓜专利网。