[发明专利]用于管理计算机系统中内存的方法和装置有效
申请号: | 201310178857.8 | 申请日: | 2013-05-15 |
公开(公告)号: | CN103425729B | 公开(公告)日: | 2017-04-05 |
发明(设计)人: | E.J.斯莱特里 | 申请(专利权)人: | 国际商业机器公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京市柳沈律师事务所11105 | 代理人: | 张丽新 |
地址: | 美国纽*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 管理计算机 系统 内存 方法 装置 | ||
技术领域
本发明涉及管理计算机系统中的内存。
背景技术
计算机系统一般使用虚拟内存管理系统。虚拟内存管理系统使用动态的内存分配处理和垃圾回收(collection)处理从而分别分配和收回(reclaim)内存分配。垃圾回收处理被安排为标识已分配但无法使用的内存分配,清除其存储的相关联的内存对象,并且返回标识的内存分配用于通过重分配来再次使用(reuse)。
垃圾回收处理要求大量的处理能力且可延迟计算机的其它处理。可以提高应用程序的内存效率,以便产生更少的被丢弃的内存对象让垃圾回收处理清除。然而,在运行在给定计算机上的多个系统或应用程序的情况下,标识被丢弃的内存对象的源是困难和耗时的。
发明内容
本发明的实施例提供了一种用于管理计算机系统中内存的方法,其中在任何给定时间使用的内存位置被表示为第一对象图中的内存对象集,所述第一对象图包括通过对每个所述内存对象的引用而关联的系统根对象,所述方法包括下述步骤:创建用于所述内存的第二根对象,以便形成用于所述内存的第二对象图;以及响应于从所述第一对象图解除引用(dereference)第一对象,将所述解除引用的第一对象与所述第二对象图关联,以便所述第二对象图包括一个或多个解除引用的对象。
该方法可包括下述步骤:标识所述第一对象图中的第二对象,该第二对象紧挨所述第一对象的解除引用之前引用了所述第一对象;以及创建从所述第二对象图到所述第二对象的引用,以便将所述第二对象图中的所述第一对象与所述第一对象图中的所述第二对象关联。该方法可包括下述步骤:在所述第二对象图中创建第一元数据对象,所述第一元数据对象被安排为提供从所述第二对象图到所述第一对象图中的所述第二对象的所述引用,以及被安排为引用所述第二对象图中的所述第一对象。该方法可包括下述步骤:标识用于所述第一对象的预定的元数据,该预定的元数据用于标识紧挨所述解除引用之前所述第一对象图中所述第一对象的位置;以及将所述元数据与所述第一对象关联地存储在所述第二对象图中。
所述元数据可存储在与所述第二对象图中所述第一对象关联的第二元数据对象中。所述元数据可包括标识所述第二对象中的字段的数据,该字段用于紧挨所述第一对象的所述解除引用之前从所述第二对象引用所述第一对象。
该方法可包括下述步骤:响应于在其中标识包括存在于所述第一对象图中的所有对象的第一对象集的垃圾回收的第一阶段,标识包括存在于所述第二对象图中且不存在于所述第一对象图中的对象的第二对象集;以及在其中从所述内存删除所述第二对象集的垃圾回收的任何进一步的阶段之前,保存与所述第二对象集中的所述对象的每个关联的预定数据。
所述预定数据可包括标识所述第一对象的数据。所述预定数据可包括标识所述第二对象的数据,所述第二对象紧挨所述第一对象的解除引用之前引用了所述第一对象。所述预定数据可包括标识所述第二对象中的字段的数据,该字段紧挨所述解除引用之前引用了所述第一对象图中的第一对象。
另一实施例提供了一种用于管理计算机系统中内存的装置,其中在任何给定时间使用的内存位置被表示为第一对象图中的内存对象集,所述第一对象图包括通过对每个所述内存对象的引用而关联的系统根对象,所述装置可操作从而:创建用于所述内存的第二根对象,以便形成用于所述内存的第二对象图;以及响应于从所述第一对象图解除引用第一对象,将所述解除引用的第一对象与所述第二对象图关联,以便所述第二对象图包括一个或多个解除引用的对象。
又一实施例提供了一种用于管理计算机系统中内存的计算机程序,其中在任何给定时间使用的内存位置被表示为第一对象图中的内存对象集,所述第一对象图包括通过引用到每个所述内存对象而关联的系统根对象,所述计算机程序产品包括具有具体化为计算机可读程序代码的计算机可读介质,所述计算机可读程序代码被配置为:创建用于所述内存的第二根对象,以便形成用于所述内存的第二对象图;以及响应于从所述第一对象图解除引用第一对象,将所述解除引用的第一对象与所述第二对象图关联,以便所述第二对象图包括一个或多个解除引用的对象。
本发明的实施例被安排为保护与从系统对象图中移除的内存对象有关的数据,用于标识这样的被移除的对象的源。
附图说明
现在将参照以下的附图,通过仅为示例的方式描述优选的实施例,附图中:
图1是对包括虚拟机的计算机系统的示意性说明;
图2a和2b是图1的虚拟机的内存中对象图的示意性表示;
图3是说明从图2b的对象图之一提取的数据的表;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国际商业机器公司,未经国际商业机器公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310178857.8/2.html,转载请声明来源钻瓜专利网。