快速业务通道

通过Runtime获取当前JVM使用的Heap大小 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-14

通过Runtime获取当前JVM使用的Heap大小

时间:2011-10-16

一提起如何解决内存溢出问题,动辄使用复杂的监控软件,比如Jprofile等,其实我们可以通过Runtime来获得当前Heap大小,使用Heap大小。测试如下:

1. 设置JVM属性: -Xms64m -Xmx256m 最小64M 最大使用256M.

2. 运行如下代码:

public static void main(String [] args) throws Exception {          int mb = 1024*1024;         //Getting the runtime reference from system          Runtime runtime = Runtime.getRuntime();         System.out.println("##### Heap utilization statistics [MB] #####");        // use memory         List testList = new ArrayList();         for(int i =0; i<5000;i++){             Thread.sleep(1000);         for(int i1 =0; i1<5000; i1++){         testList.add(new String[1000]);         }         System.out.println("Used Memory:"              + (runtime.totalMemory() - runtime.freeMemory()) / mb+"M");         }          System.out.println("Free Memory:"   + runtime.freeMemory() / mb+"M");          System.out.println("Total Memory:" + runtime.totalMemory() / mb+"M");          System.out.println("Max Memory:" + runtime.maxMemory() / mb+"M");      } }

通过Runtime获取当前JVM使用的Heap大小(2)

时间:2011-10-16

运行结果如下:

##### Heap utilization statistics [MB] #####

Used Memory:19M

Used Memory:38M

Used Memory:57M

Used Memory:77M

Used Memory:96M

Used Memory:115M

Used Memory:134M

Used Memory:154M

Used Memory:173M

Used Memory:192M

Used Memory:211M

Used Memory:230M

Used Memory:249M

Exception in thread "main" java.lang.OutOfMemoryError: Java heap space

at prepare.NewClass.main(NewClass.java:32)

Java Result: 1

成功生成(总时间:15 秒)

总结:runtime.totalMemory() 获取Heap大小,runtime.freeMemory() 剩余Heap大小。

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号