[发明专利]一种基于NVDIMM的内存防溢出装置及方法在审
申请号: | 202010781614.3 | 申请日: | 2020-07-30 |
公开(公告)号: | CN111984404A | 公开(公告)日: | 2020-11-24 |
发明(设计)人: | 宋奇 | 申请(专利权)人: | 苏州浪潮智能科技有限公司 |
主分类号: | G06F9/50 | 分类号: | G06F9/50;G06F21/52;G06F5/06 |
代理公司: | 济南诚智商标专利事务所有限公司 37105 | 代理人: | 王敏 |
地址: | 215100 江苏省苏州市吴*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 nvdimm 内存 溢出 装置 方法 | ||
本发明公开了一种基于NVDIMM的内存防溢出装置及方法,涉及计算机系统设计领域。所述装置包括NVDIMM硬件模块、非易失性内存管理模块和冷热对象判定模块;NVDIMM硬件模块用于存储冷对象并为其提供持久化特性;非易失性内存管理模块用于提供配置和使用NVDIMM硬件模块的工具,并提供序列化及反序列化对象的接口;冷热对象判定模块用于标记冷对象和热对象,热对象继续保存在堆内存空间中,冷对象被分配至NVDIMM硬件模块中进行持久化存储。本发明采用NVDIMM设备作为内存扩展区用于存放带有持久化特性的冷对象,有效防止了内存溢出的情况发生,再次调用冷对象时可直接从NVDIMM设备中经过反序列化后得到,省去了再次使用对象时创建和初始化对象的过程,大幅提升了代码执行效率。
技术领域
本发明实施例涉及计算机系统设计领域,具体来说涉及一种基于NVDIMM的内存防溢出装置及方法。
背景技术
在大多数软件开发实例中,以Java开发为例,内存溢出是难以避免的常见现象。特别是在运行大规模项目时,当软件对内存容量的需求远超过服务器的实际内存大小时就会引发内存溢出。常见的内存溢出类别有堆内存溢出、堆内存泄露、垃圾回收超时内存溢出等,其解决的方法一般为避免较大的对象申请、优化JVM参数配置、减少对象生命周期等。另外,JVM的GC机制能够回收堆内存空间中未存活的对象从而释放有限的内存资源,进而在一定程度上能够解决内存溢出的问题。
现有的解决内存溢出的方法存在通用性差的问题,目前还没有通用的内存溢出解决方案,而是需要根据具体报错排查原因,从而有针对性地解决内存溢出问题。JVM的GC机制也主要用于清除堆内存中未存活的对象,当大量活跃的对象占用内存资源时便无法触发GC机制。
基于上述现有技术中存在的局限性,本发明提出一种基于NVDIMM的内存防溢出装置及方法,将NVDIMM作为内存扩展区来缓解内存资源压力,解决程序运行时内存溢出的问题。
发明内容
本发明实施例提供一种基于NVDIMM的内存防溢出装置及方法,基于NVDIMM设备的特性,将NVDIMM作为内存扩展区来缓解内存资源压力,防止内存溢出情况的发生,有效提升代码的执行效率。
为实现上述目的,本发明公开了如下技术方案:
本发明一方面提供了一种基于NVDIMM的内存防溢出装置,所述装置包括NVDIMM硬件模块、非易失性内存管理模块和冷热对象判定模块;
所述NVDIMM硬件模块用于存储冷对象并为其提供持久化特性;
所述非易失性内存管理模块用于提供配置和使用NVDIMM硬件模块的软件库、驱动程序、工具集、指令及API,并提供序列化及反序列化对象的接口;
所述冷热对象判定模块用于标记冷对象和热对象,并根据对象的调用记录来保留或淘汰对象,保留的对象为热对象,其继续保存在堆内存空间中,淘汰的对象为冷对象,其分配至NVDIMM硬件模块中进行持久化存储。
作为优化,所述NVDIMM硬件模块为非易失性双列直插式内存设备。
基于上述方案,进一步的,所述冷热对象判定模块标记冷对像和热对象,具体包括:将内存中的对象存放于FIFO链表,新创建的对象插入至FIFO链表的表头,先前存在于FIFO链表中的对象依次向后移动,随着创建的对象增多且FIFO链表长度一定,FIFO链表末尾的对象将被淘汰;当FIFO链表中的某个对象被重复使用时,该对象从FIFO链表移动至缓冲链表的表头,先前存在于缓冲链表中的对象依次向后移动,随着插入缓冲链表的对象增多且缓冲链表长度一定,缓冲链表末尾的对象将被淘汰;随着插入FIFO链表和缓冲链表的对象增多,FIFO链表末尾和缓冲链表末尾将要被淘汰的对象即为冷对象。被淘汰的冷对象会被分配到NVDIMM硬件模块中进行持久化存储,以释放内存资源的压力,防止内存溢出的情况发生,同时被持久化存储的对象可以随时被程序调用,省去创建及初始化对象所带来的时间消耗,提升代码的执行效率。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏州浪潮智能科技有限公司,未经苏州浪潮智能科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010781614.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:基于PC端DDS数据转换方法和系统
- 下一篇:一种羟基嘧啶类化合物的合成方法