本申请涉及计算机,尤其涉及一种内存错误处理方法及装置。
背景技术:
1、随机存取存储器(random access memory,ram)通常也被简称为内存,其是计算机系统的重要组成部件之一。内存发生可纠正错误(corrected error,ce)时,可以采用包含错误校验与校正(error checking and correction,ecc)在内的各种纠错算法进行纠错,而且可以采用包含自适应双设备数据校正(adaptive double device data correction,adddc)在内的各种技术实现对发生ce的内存区域进行数据迁移和内存隔离。
2、对内存区域执行数据迁移和内存隔离的过程中,通常会大量占用计算机系统的资源,可能导致计算机系统无法高效的执行其当前正在执行的其它业务。
技术实现思路
1、本申请实施例中至少提供了一种内存错误处理方法及装置,在需要对发生ce的目标内存区域执行数据迁移和内存隔离的情况下,可以根据计算机系统在当前时间间隔内的若干性能指标判断计算机系统是否处于空闲态,在确定计算机系统处于空闲态的情况下才对目标内存区域执行数据迁移和内存隔离,可避免因对目标内存区域执行数据迁移和内存隔离而影响计算机系统对其它业务的高效执行。
2、第一方面,提供了一种内存错误处理方法,该方法应用于包括内存的计算机系统。该方法包括:在需要对内存中发生可纠正错误ce的目标内存区域执行数据迁移和内存隔离的情况下,可以首先获取前述计算机系统在当前时间间隔内的若干性能指标,并根据该若干性能指标确定前述计算机系统是否处于空闲态;当确定前述计算机系统处于空闲态的情况下,对目标内存区域执行数据迁移和内存隔离。
3、如此,在需要对发生ce的目标内存区域执行数据迁移和内存隔离时,可以根据计算机系统在当前时间间隔内的若干性能指标判断计算机系统是否处于空闲态,并在确定计算机系统处于空闲态的情况下才对目标内存区域执行数据迁移和内存隔离,可避免因对目标内存区域执行数据迁移和内存隔离而影响计算机系统对其它业务的高效执行。
4、在一种可能的实施方式中,前述的若干性能指标可以包括但不限于如下各项性能指标中的任意一项或多项:计算机系统是否运行在用户态、处理器占用率、内存带宽、转发带宽、存储带宽,以及依赖计算机系统并且处于繁忙状态的虚拟机是否与所述目标内存区域位于相同的非一致存储访问结构(non-uniform memory access,numa)。
5、在一种可能的实施方式中,该方法还包括:获取计算机系统的内存错误信息;根据内存错误信息确定内存中发生ce的目标内存区域和ce模式;根据ce模式确定是否需要对目标内存区域执行数据迁移和内存隔离。该实施方式中,由于并非全部的ce均可能影响内存区域在后续过程中继续发生不可纠正错误(uncorrected errors,uce),因此并不将全部的ce均作为对发生ce的内存区域进行数据迁移和内存隔离的必要条件,可以避免因频繁执行对发生ce的内存区域进行数据迁移和隔离而带来其它问题。
6、在一种可能的实施方式中,根据ce模式确定是否需要对目标内存区域执行数据迁移和内存隔离,包括:在ce模式属于预先配置的若干目标ce模式的情况下,确定需要对目标内存区域执行数据迁移和内存隔离。
7、在一种可能的实施方式中,根据ce模式确定是否需要对目标内存区域执行数据迁移和内存隔离,包括:在ce模式属于预先配置的若干目标ce模式的情况下,将目标内存区域发生属于若干目标ce模式的ce的频次加1;在执行加1操作后的频次达到预设阈值的情况下,确定需要对目标内存区域执行数据迁移和内存隔离。
8、在一种可能的实施方式,前述的若干目标ce模式包括如下各项ce模式中的至少一项:row ce、column ce和bank ce。
9、第二方面,提供了一种内存错误处理装置,该装置部署在包括内存的计算机系统中。该装置包括:指标获取模块,用于在需要对模块内存中发生可纠正错误ce的目标内存区域执行数据迁移和内存隔离的情况下,获取计算机系统在当前时间间隔内的若干性能指标;状态判断模块,用于根据若干性能指标确定计算机系统是否处于空闲态,并在计算机系统处于空闲态时触发隔离处理模块;隔离处理模块,用于在状态判断模块的触发下,对目标内存区域执行数据迁移和内存隔离。
10、在一种可能的实施方式中,若干性能指标包括如下各项性能指标中的任意一项或多项:计算机系统是否运行在用户态、处理器占用率、内存带宽、转发带宽、存储带宽,以及依赖计算机系统并且处于繁忙状态的虚拟机是否与目标内存区域位于相同的numa。
11、在一种可能的实施方式中,该装置还包括:信息获取模块,用于获取计算机系统的内存错误信息;故障分析模块,用于根据内存错误信息确定内存中发生ce的目标内存区域和ce模式;根据ce模式确定是否需要对目标内存区域执行数据迁移和内存隔离。
12、在一种可能的实施方式中,故障分析模块,具体用于在ce属于预先配置的若干目标ce模式的情况下,确定需要对目标内存区域执行数据迁移和内存隔离。
13、在一种可能的实施方式中,故障分析模块,具体用于在ce模式属于预先配置的若干目标ce模式的情况下,将目标内存区域发生属于若干目标ce模式的ce的频次加1;在执行加1操作后的频次达到预设阈值的情况下,确定需要对目标内存区域执行数据迁移和内存隔离。
14、在一种可能的实施方式中,若干目标ce模式包括如下各项ce模式中的至少一项:row ce、column ce和bank ce。
15、第三方面,本申请实施例中提供了一种计算设备,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码,实现第一方面提供的方法。
16、第四方面,本申请实施例中提供了一种计算机系统,包括存储器和处理器,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码,实现第一方面提供的方法。
17、第五方面,本申请实施例中提供了一种计算机可读存储介质,其上存储有计算机程序,当所述计算机程序在计算机中执行时,令计算机实现第一方面提供的方法。
18、第六方面,本申请实施例中提供了一种计算机程序或计算机程序产品,所述计算机程序或计算机程序产品包括指令,当所述指令被执行时,实现第一方面提供的方法。
19、第七方面,本申请的实施例中提供了一种芯片,该芯片包括至少一个处理器和接口,所述至少一个处理器通过所述接口确定程序指令或者数据;前述至少一个处理器用于执行所述程序指令,以实现第一方面提供的方法。
20、可以理解的是,前述第二方面至第七方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述
1.一种内存错误处理方法,其特征在于,应用于包括内存的计算机系统,包括:
2.根据权利要求1所述的方法,其特征在于,所述若干性能指标包括如下各项性能指标中的任意一项或多项:所述计算机系统是否运行在用户态、处理器占用率、内存带宽、转发带宽、存储带宽,以及依赖所述计算机系统并且处于繁忙状态的虚拟机是否与所述目标内存区域位于相同的非一致存储访问结构numa。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
4.根据权利要求3所述的方法,其特征在于,所述根据所述ce模式确定是否需要对所述目标内存区域执行数据迁移和内存隔离,包括:在所述ce模式属于预先配置的若干目标ce模式的情况下,确定需要对所述目标内存区域执行数据迁移和内存隔离。
5.根据权利要求3所述的方法,其特征在于,所述根据所述ce模式确定是否需要对所述目标内存区域执行数据迁移和内存隔离,包括:
6.根据权利要求4或5中所述的方法,其特征在于,所述若干目标ce模式包括如下各项ce模式中的至少一项:row ce、column ce和bank ce。
7.一种内存错误处理装置,其特征在于,部署在包括内存的计算机系统中,包括:
8.根据权利要求7所述的装置,其特征在于,所述若干性能指标包括如下各项性能指标中的任意一项或多项:所述计算机系统是否运行在用户态、处理器占用率、内存带宽、转发带宽、存储带宽,以及依赖所述计算机系统并且处于繁忙状态的虚拟机是否与所述目标内存区域位于相同的非一致存储访问结构numa。
9.根据权利要求7所述的装置,其特征在于,所述装置还包括:
10.根据权利要求9所述的装置,其特征在于,所述故障分析模块,具体用于在所述ce模式属于预先配置的若干目标ce模式的情况下,确定需要对所述目标内存区域执行数据迁移和内存隔离。
11.根据权利要求9所述的装置,其特征在于,所述故障分析模块,具体用于在所述ce模式属于预先配置的若干目标ce模式的情况下,将所述目标内存区域发生属于所述若干目标ce模式的ce的频次加1;在执行加1操作后的所述频次达到预设阈值的情况下,确定需要对所述目标内存区域执行数据迁移和内存隔离。
12.根据权利要求10或11中所述的装置,其特征在于,所述若干目标ce模式包括如下各项ce模式中的至少一项:row ce、column ce和bank ce。
13.一种计算设备,包括存储器和处理器,其特征在于,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码,实现权利要求1-6中任一项所述的方法。
14.一种计算机系统,包括存储器和处理器,其特征在于,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码,实现权利要求1-6中任一项所述的方法。
15.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,当所述计算机程序在计算机中执行时,令计算机执行权利要求1-6中任一项所述的方法。