[发明专利]一种JVM能耗控制方法及装置有效
| 申请号: | 201410117546.5 | 申请日: | 2014-03-26 |
| 公开(公告)号: | CN103870315B | 公开(公告)日: | 2017-05-31 |
| 发明(设计)人: | 王少锋;张云勇;陶冶;张尼 | 申请(专利权)人: | 中国联合网络通信集团有限公司 |
| 主分类号: | G06F9/455 | 分类号: | G06F9/455;G06F9/50 |
| 代理公司: | 北京安信方达知识产权代理有限公司11262 | 代理人: | 栗若木,白莹 |
| 地址: | 100033 *** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 jvm 能耗 控制 方法 装置 | ||
1.一种JVM Java虚拟机能耗控制方法,其特征在于,包括:
监控JVM中的内存垃圾回收情况,以获取JVM的内存使用信息;
在JVM内存空闲时,关闭其对应的物理内存;
确定JVM是否空闲包括:
将所述JVM所在JVM集群中所有虚拟机ID放入队列Q,将队列Q中队首元素的值赋给变量v,在判断出变量v对应的JVM未进行次要垃圾回收minor GC且变量v对应的JVM已进行全局垃圾回收Full GC,则确定JVM内存有空闲。
2.根据权利要求1所述的JVM能耗控制方法,其特征在于,对于所述JVM所在JVM集群中的各JVM,该方法之前还包括:
系统初始化,关闭暂不用的物理内存;
初始化用于存储JVM内存与虚拟化内存之间的映射关系的虚拟化内存映射表、用于存储虚拟化内存与物理内存之间的映射关系的物理内存映射表;获取所有JVM的虚拟机ID;
设置内存监控时间间隔T,以及老年区内存空闲允许阈值V。
3.根据权利要求2所述的JVM能耗控制方法,其特征在于,所述获取JVM中的内存使用信息包括:
按照预先设置的时间间隔T,监控所述JVM中的内存垃圾回收情况,以获取所述JVM集群中所有JVM的虚拟机ID对应的JVM内存使用信息;
所述JVM内存使用信息至少包括垃圾回收的类型及时间、老年代内存已使用比例、老年代内存剩余大小、垃圾碎片比率及其它相关信息。
4.根据权利要求3所述的JVM能耗控制方法,其特征在于,
该方法还包括:更新所述物理内存映射表。
5.根据权利要求4所述的JVM能耗控制方法,其特征在于,关闭所述JVM空闲内存对应的物理内存之前,还包括:移动内存垃圾碎片,通过移动虚拟化内存关闭物理内存块,并更新所述虚拟化内存映射表。
6.根据权利要求4所述的JVM能耗控制方法,其特征在于,如果判断出所述变量v对应的JVM已进行minor GC,且有对象从新生代进入老年代,则获取老年代内存已使用比例r,老年代的当前剩余空间大小S;
该方法还包括:在老年代当前剩余空间大小小于预先设置的老年区内存空闲允许阈值时,将处于休眠状态物理内存块的状态转换为启用状态。
7.根据权利要求6所述的JVM能耗控制方法,其特征在于,所述将处于休眠状态物理内存块转换为启用状态之前,该方法还包括:移动虚拟化内存,并更新所述虚拟化内存映射表。
8.根据权利要求4~7任一项所述的JVM能耗控制方法,其特征在于,在判断出变量v对应的JVM已进行minor GC,但是没有对象从新生代进入老年代时;或者,在判断出老年代当前剩余空间大小不小于预先设置的老年区内存空闲允许阈值时;或者,在判断出变量v对应的JVM已进行minor GC,但是变量v对应的JVM未进行Full GC时;或者,在老年代当前剩余空间大小小于预先设置的老年区内存空闲允许阈值的情况下,所述更新虚拟化内存映射表后;或者,所述更新物理内存映射表后;或者,在判断出变量v对应的JVM未进行minor GC且变量v对应的JVM已进行Full GC的情况下,没有物理内存块可关闭时;该方法还包括:
判断对所述JVM集群中的JVM是否轮询完成,如果没有,继续对所述JVM集群中的下一个JVM进行监控,直至所述JVM集群中的JVM轮询完成。
9.一种JVM能耗控制装置,其特征在于,至少包括内存垃圾监控单元、虚拟化内存管理单元,以及处理单元,其中,
内存垃圾监控单元,用于监控JVM集群中JVM的内存垃圾回收情况,并将JVM内存使用信息发送给虚拟化内存管理单元;
虚拟化内存管理单元,用于根据接收到的JVM内存使用信息,在自身可以处理时,移动虚拟化内存,并更新虚拟化内存映射表;在自身不能处理时,通知处理单元;根据来自处理单元的反馈信息管理自身存储的虚拟化内存映射表、物理内存映射表;
处理单元,用于接收来自虚拟化内存管理单元的通知,控制物理内存的状态变化,包括休眠状态和启用状态之间的状态控制,并将处理后信息反馈给虚拟化内存管理单元。
10.根据权利要求9所述的JVM能耗控制装置,其特征在于,
所述内存垃圾监控单元,具体用于按照预先设置的时间间隔T,获取JVM集群中所有JVM的虚拟机ID对应的JVM内存使用情况,将所有虚拟机ID放入队列Q,将队列Q中队首元素的值赋给变量v;在判断出变量v对应的JVM已进行minor GC,且有对象从新生代进入老年代,则获取老年代内存已使用比例r,当前剩余空间大小S;在当前剩余空间大小S小于老年区内存空闲允许阈值V时,向所述虚拟化内存管理单元发送第一通知;在判断出变量v对应的JVM未进行minor GC,且变量v对应的JVM已进行全局GC,则移动内存垃圾碎片,向所述虚拟化内存管理单元发送第三通知;
所述虚拟化内存管理单元,具体用于接收到来自内存垃圾监控单元的第一通知,判断出自身可以通过虚拟化内存解决,移动虚拟化内存,并更新虚拟化内存映射表;如果判断出自身不能通过虚拟化内存解决,则向所述处理单元发送第二通知;接收到来自内存垃圾监控单元的第三通知,判断出自身可以通过移动虚拟化内存关闭物理内存块,则移动虚拟化内存并更新虚拟化内存映射表;判断出有物理内存块可关闭,向所述处理单元发送第四通知;
所述处理单元,具体用于接收到来自虚拟化内存管理单元的第二通知,将处于休眠状态的物理内存块的状态转换为启用状态,并通知所述虚拟化内存管理单元更新物理内存映射表;接收到来自所述虚拟化内存管理单元的第四通知,将空闲的内存块从启用状态转换为休眠状态,并通知所述虚拟化内存管理单元更新物理内存映射表。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国联合网络通信集团有限公司,未经中国联合网络通信集团有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410117546.5/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种汽车智能上台阶器
- 下一篇:一种纳米二氧化硅增强间位芳纶纸的制备方法





