[发明专利]一种垃圾回收的装置、系统及方法无效
申请号: | 200810106646.2 | 申请日: | 2008-05-14 |
公开(公告)号: | CN101281458A | 公开(公告)日: | 2008-10-08 |
发明(设计)人: | 苗彩霞 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | G06F9/312 | 分类号: | G06F9/312;G06F9/50 |
代理公司: | 北京凯特来知识产权代理有限公司 | 代理人: | 郑立明 |
地址: | 518129广东省*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 垃圾 回收 装置 系统 方法 | ||
1、一种控制垃圾回收的装置,其特征在于,所述装置包括:
信息收集单元,用于收集系统的运行信息,以及应用程序的运行信息;
触发裁决单元,用于根据信息收集单元收集的数据以及预先设置的裁决策略确定是否需要触发垃圾回收;若需要触发,则输出触发消息。
2、如权利要求1所述的装置,其特征在于,所述信息收集单元收集的系统的运行信息用于指示系统的繁忙程度,包括:系统的中央处理器CPU占用率、系统的一种程序设计语言JAVA虚拟机JVM的内存占用率、系统的内存占用率和系统的当前时间中的至少一个。
3、如权利要求1所述的装置,其特征在于,所述信息收集单元接收到的应用程序的运行信息用于指示应用程序的繁忙程度以及上次垃圾回收的状况,所述应用程序的繁忙程度包括:当前应用程序的吞吐量、预先设置的应用程序的话务模型和当前应用程序占用的内存中的至少一个;所述上次垃圾回收的状况包括:上次垃圾回收的时间和上次垃圾回收的内存大小中的至少一个。
4、如权利要求1或2或3所述的装置,其特征在于,所述触发裁决单元中的裁决策略根据用户的需求设置,所述用户的需求包括:系统JVM的内存占用率的设定阀值、系统要求的垃圾回收的执行频率和垃圾回收执行的时段要求中的至少一个。
5、一种垃圾回收的系统,其特征在于,所述系统包括:控制垃圾回收的装置,以及执行装置,其中,
所述控制垃圾回收的装置,用于根据收集的数据以及预先设置的裁决策略确定是否需要触发垃圾回收;若需要触发,则输出触发消息;
所述执行装置用于根据接收到的触发消息,触发执行垃圾回收。
6、如权利要求5所述的系统,其特征在于,所述控制垃圾回收的装置具体包括:
信息收集单元,用于收集系统的运行信息,以及应用程序的运行信息;
触发裁决单元,用于根据信息收集单元收集的数据以及预先设置的裁决策略确定是否需要触发垃圾回收;若需要触发,则输出触发消息。
7、如权利要求5或6所述的系统,其特征在于,所述执行装置调用系统提供的垃圾回收程序执行垃圾回收。
8、如权利要求7所述的系统,其特征在于,所述垃圾回收程序包括:由Java提供的一个函数System.gc();
所述执行单元调用多次System.gc(),每次调用后检查JVM的输出是否执行了垃圾回收,若未执行则重新调用该函数并检查JVM输出,循环执行,至到垃圾回收执行或者调用的次数达到了设定的门限,停止调用。
9、一种控制垃圾回收的方法,其特征在于,所述方法包括:
收集系统的运行信息,以及应用程序的运行信息,并根据所述接收到的数据以及预先设置的裁决策略确定是否需要触发垃圾回收;若需要触发,则输出触发消息。
10、如权利要求9所述的方法,其特征在于,所述系统的运行信息用于指示系统的繁忙程度,包括:系统的中央处理器CPU占用率、系统的一种程序设计语言JAVA虚拟机JVM的内存占用率、系统的内存占用率、和系统的当前时间中的至少一个。
11、如权利要求9所述的方法,其特征在于,所述应用程序的运行信息用于指示应用程序的繁忙程度以及上次垃圾回收的状况,所述应用程序的繁忙程度包括:当前应用程序的吞吐量、预先设置的应用程序的话务模型和当前应用程序占用的内存中的至少一个;所述上次垃圾回收的状况包括:上次垃圾回收的时间和上次垃圾回收的内存大小中的至少一个。
12、如权利要求9或10或11所述的方法,其特征在于,所述裁决策略根据用户的需求设置,所述用户的需求包括:系统JVM的内存占用率的设定阀值、系统要求的垃圾回收的执行频率和垃圾回收执行的时段要求中的至少一个。
13、如权利要求9或10或11所述的方法,其特征在于,所述方法还包括:
执行装置根据接收到的触发消息,触发执行垃圾回收。
14、如权利要求13所述的方法,其特征在于,所述执行装置触发执行垃圾回收的方法具体包括:
所述执行装置调用系统提供的垃圾回收程序执行垃圾回收。
15、如权利要求14所述的方法,其特征在于,
所述垃圾回收程序包括:由Java提供的一个函数System.gc();
所述执行装置调用系统提供的垃圾回收程序执行垃圾回收的方法具体包括:所述执行单元调用多次System.gc(),每次调用后检查JVM的输出是否执行了垃圾回收,若未执行则重新调用该函数并检查JVM输出,循环执行,至到垃圾回收执行或者调用的次数达到了设定的门限,停止调用。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200810106646.2/1.html,转载请声明来源钻瓜专利网。