如何从Java程序中获取VM的最小和最大堆大小设置?
答案 0 :(得分:13)
最大堆大小:
Runtime.getRuntime().maxMemory();
您可能会感兴趣的其他一些计算:
Runtime runtime = Runtime.getRuntime();
long maxMemory = runtime.maxMemory();
long allocatedMemory = runtime.totalMemory();
long freeMemory = runtime.freeMemory();
long totalFreeMemory = freeMemory + (maxMemory - allocatedMemory);
long usedMemory = maxMemory - totalFreeMemory;
答案 1 :(得分:3)
您只需要将Runtime对象与Runtime.getRuntime()一起使用,然后使用totalMemory()等方法freeMemory()
http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Runtime.html#freeMemory()
答案 2 :(得分:0)
也许这可以帮到你?
http://download.oracle.com/docs/cd/E11035_01/wls100/perform/JVMTuning.html#wp1109778 http://javahowto.blogspot.com/2006/06/6-common-errors-in-setting-java-heap.html http://www.caucho.com/resin-3.0/performance/jvm-tuning.xtp http://blog.paulgu.com/2008/07/19/6-common-errors-in-setting-java-heap-size/
答案 3 :(得分:0)
ManagementFactory.getMemoryMXBean().getHeapMemoryUsage()