多核系统中内存核查的方法和系统技术方案

技术编号:2830811 阅读:313 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供了一种对多核系统中内存核查的方法和系统。该方法主要包括:对多核系统中的各个中央处理器CPU的占用率进行比较,根据比较结果来选择执行内存核查的CPU;所述选择的执行内存核查的CPU对所述多核系统进行内存核查。该系统主要包括:CPU选择模块,用于对多核系统中的各个中央处理器CPU的占用率进行比较,根据比较结果来选择执行内存核查的一个或多个CPU;CPU,用于当被所述CPU选择模块选择为执行内存核查的CPU时,对所述多核系统进行内存核查。利用本发明专利技术,从而可以减轻主CPU的负担,有利于多核系统各CPU间负载均衡,保持多核系统的业务稳定运行。

【技术实现步骤摘要】

本专利技术涉及计算机应用领域,尤其涉及一种多核系统中内存核查的方法 和系统。 .背景4支术随着科技水平的日新月异,信息产业的迅猛发展,CPU技术在各行各业 得到广泛应用。内存是CPU技术应用的关键资源,随着工艺进步,其集成度 和容量成倍增加。内存的可靠性及有效性是CPU以及整个操作系统稳定运行的保证,在内存出现异常的情况下,如不能及时地定位异常原因,往往会影 响业务的正常运行,甚至导致操作系统崩溃。因此,在实际应用中。需要有 效地对内存进行检查,发现内存中存在的异常,并根据异常的严重程度对异 常情况进行归类,然后有选择地对异常内存进行回收,以便重复利用内存资 源。根据内存异常情况对系统的影响,内存异常的种类可分为致命异常、 严重异常和一般异常。致命异常通常指内存地址空间的异常,比如访问非法的内存地址空间, 内存地址空间未初始化等。内存的致命异常往往会使整个操作系统崩溃,需 要采取CPU复位或整板复位等极端措施来进行补救。严重异常通常指某一内存块的局部失效,或者关键域出错,比如内存块 管理结构中校验字域出错等。内存的严重异常不会影响整个操作系统,但会 使局部内存不可被使用,在这种情况下,需要对异常的内存块采用隔离的措 施,保证该异常的内存块不会危害整个操作系统的正常运作。 一般异常通常指某一内存块的非关键域出错,如逻辑类型错误等。发生 一般异常的内存可以安全地进行内存资源回收,重复使用。现有的内存检查技术一般分为内存核查技术和内存资源回收技术两种, 内存核查技术主要用于定时检查内存中是否有内存泄露、内存操作越界等异 常情况,该技术采用的主要手段是判断内存块的各个管理域是否正确,判断内存使用是否超时。内存资源回收技术主要是针对单个CPU,对单个CPU使 用的内存资源进行回收,以达到单CPU复位、挂起等目的。现有技术中一种主从CPU架构的内存核查技术的实现方案的原理示意图 如图1所示,具体处理过程如下该方案在进行内存核查时,CPU不能运行正常业务,并且,每个CPU (主CPU除夕卜)都只能检查自已的内存。以主从CPU架构的多核系统为例,内存核查有两种方式 一是各从CPU 分别进行自己的内存核查,然后将内存异常信息上报给主CPU,主CPU对各 从CPU上报的内存异常信息进行集中处理;二是由主CPU执行全部CPU的内 存核查,并进行相应的异常处理。如图1所示的多核系统中共有32个CPU,其中CPUO为主CPU,其它CPU 为从CPU。在某一时刻需要对内存进行检查,如果此时多核系统中业务量较 少,全部CPU都比较空闲,可以采用各从CPU独立进行内存核查,主CPU集 中处理异常的方式,即CPU1 CPU31分别进行内存核查,CPUO负责内存异 常的集中处理,这样会缩短内存核查时间,但会增大主CPU的负荷。如果此 时多核系统中业务繁忙,各从CPU需要继续保证业务运行,可采用主CPU进 行所有CPU的内存核查的方式,即CPU1 CPU31分别继续运行业务,CPUO负责进行所有内存的核查,这样会大大增长内存核查时间,但却更加增大了主CPU的负荷。在实现本专利技术的过程中,专利技术人发现上述现有技术的方法的缺点为上述两种核查方式都会加重主CPU的负荷,不利于CPU间负荷均衡。当由主CPU进行所有CPU的内存核查时,主CPU必须遍历整个内存空间,导致内存核查的过程占用的时间较长,而且效率低,容易影响多核系统中业务的稳定 性。
技术实现思路
本专利技术实施例的目的是提供一种多核系统中内存核查的方法和系统,从而可以解决现有内存核查方法会加重主CPU的负荷,不利于CPU间负荷均衡的问题。本专利技术实施例的目的是通过以下技术方案实现的 一种多核系统中内存核查的方法,包括对多核系统中的中央处理器CPU的占用率进行比较,根据比较结果来选 择执行内存核查的CPU;所述选择的执行内存核查的CPU对所述多核系统进行内存核查。 一种多核系统中内存核查的系统,包括CPU选择模块,用于对多核系统中的中央处理器CPU的占用率进行比 较,根据比较结果来选择执行内存核查的CPU;CPU,用于当被所述CPU选择模块选择为执行内存核查的CPU时,对所 述多核系统进4亍内存核查。由上述本专利技术实施例提供的技术方案可以看出,本专利技术实施例通过根据 多核系统中的各个CPU的占用率的比较结果,来选择执行内存核查的CPU 。 从而可以减轻主CPU的负担,有利于多核系统各CPU间负载均衡,保持多核系统的业务稳定运行。 附图说明图1为现有技术中一种主从CPU架构的内存核查技术的实现方案的原理示意图2为本专利技术实施例 一提出的按照核查功能拆分多核内存任务的示意图; 图3为本专利技术实施例二提出的按照核查对象拆分多核内存任务的示意图; 图4为本专利技术实施例三提供的 一种多核系统的内存块的管理结构的示意图5为本专利技术实施例三提供的对多核系统的内存进行全面的核查的处理流 程图6为本专利技术实施例四提供的对多核系统进行内存核查的系统的结构示意图。具体实施例方式在本专利技术实施例中,多核间内存是共享的,即任一CPU均可访问其它所 有CPU的内存空间。基于上述多核间内存共享,本专利技术实施例提出任一CPU 都可以执行内存核查任务,可以检查所有CPU的共享内存池,并能针对某一 特定CPU进行内存资源回收。在实际应用中,可以根据多核系统中的各个 CPU的占用率的比较结果,选择占有率较低的、相对比较空闲的一个或多个 CPU来执行内存核查任务,从而有利于CPU间负载均衡。在本专利技术实施例中,可以将多核系统的内存核查的任务拆分成多个任务单元,所述选择的多个CPU分别执行所述多个内存核查任务中的一个内存核查任务。比如,可以按照核查功能将内存核查任务拆分成核查严重内存异常、核查一般内存异常两种任务单元,在不同CPU上并行执行各个任务单元,从而提高了内存核查的效率。又比如,可以按照核查对象将内存核查任务拆分成多个任务单元,在不同CPU上并行执行各个任务单元。比如,将所 有内存池划成几个区,每个CPU只核查其中的一个区,这样既可以提高效率,也可以避免多CPU核查同一内存池所带来的冲突。所述选择的CPU在执行内存核查任务时,通过检查内存块的管理结构中 的关键域中的校验字的状态是否正确,来判断所述内存块是否发生严重内存异常;通过检查所述内存块的管理结构中的非关键域,来判断所述内存块是否发生一般内存异常。上述按对象拆分内存核查任务,适用于整个系统业务较少,需要对整个系统的所有CPU做全面的内存检查,以及对一般异常的内存和指定CPU的内 存进行资源回收的情况。上述按功能拆分内存核查任务,适用于快速检查系 统中是否有内存异常,比如,只检查是否有严重内存异常。 下面结合附图来详细描述本专利技术实施例。实施例一、在该实施例中,按照核查功能将内存核查任务拆分成多个任 务单元,分别由不同的CPU来执行。该实施例提出的按照核查功能拆分多核 内存任务的示意图如图2所示,具体处理过程如下如图2所示,由于多核间内存共享,各CPU的内存池中的内存块可以在 CPU之间进行传递、使用,所以在内存核查及内存资源回收时,必须遍历所 有全局内存共享区中的所有内存池。为了缩短内存核查时间,提高效率,按 照核查严重内存异常、核查一般内存异常将内存核查任务拆分成两个任务单 元。比如本文档来自技高网
...

【技术保护点】
一种多核系统中内存核查的方法,其特征在于,包括:对多核系统中的中央处理器CPU的占用率进行比较,根据比较结果来选择执行内存核查的CPU;所述选择的执行内存核查的CPU对所述多核系统进行内存核查。

【技术特征摘要】
1、一种多核系统中内存核查的方法,其特征在于,包括对多核系统中的中央处理器CPU的占用率进行比较,根据比较结果来选择执行内存核查的CPU;所述选择的执行内存核查的CPU对所述多核系统进行内存核查。2、 根据权利要求1所述的多核系统中内存核查的方法,其特征在于,所 述根据比较结果来选择执行内存核查的CPU具体包括根据多核系统中的CPU的占用率的比较结果,选择占用率最低的 一个或 多个CPU作为执行内存核查的CPU。3、 根据权利要求2所述的多核系统中内存核查的方法,其特征在于,当 选择的执行内存核查的CPU有多个时,所述选择的执行内存核查的CPU对所 述多核系统进行内存核查具体包括将对多核系统进行内存核查的任务拆分成多个任务单元,所述选择的多 个CPU分别执行所述多个任务单元其中的一部分。4、 根据权利要求3所述的多核系统中内存核查的方法,其特征在于,所 述将对多核系统进行内存核查的任务拆分成多个任务单元具体包括将对多核系统进行内存核查的任务拆分成核查严重内存异常的任务单元 和核查一般内存异常的任务单元。5、 根据权利要求3所述的多核系统中内存核查的方法,其特征在于,所 述将对多核系统进行内存核查的任务拆分成多个任务单元具体包括将多核系统中的需要核查的CPU划分为多个区间,将对多核系统进行内 存核查的任务按照所述多个区间拆分成多个任务单元。6、 根据权利要求1至5任一项所述的多核系统中内存核查的方法,其特征 在于,所述选择的执行内存核查的CPU对所述多核系统进行内存核查具体包 括所述选择的执行内存核查的CPU判断核查的内存块的管理结构中的关键 域是否正确,如果不正确,则判断所述内存块发生严重内存异常;如果正 确,通过检查所述内存块的管理结构中的非关键域,判断所述内存块是否发 生一般内存异常。7、 根据权利要求6所述的多核系统中内存核查的方法,其特征在于,所 述通过检查所述内存块的管理结构中的非关键域,判断所述内存块是否发生 一般内存异常具体包括通过检查所述内存块的管理结构中的CPU信息域,获知所述内存块没有 被正确使用,则确定所述内存块...

【专利技术属性】
技术研发人员:陈定春
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:94[中国|深圳]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术
  • 暂无相关专利