JVM学习笔记与调优实战(四):JVM参数及测试实例

2018-05-30  本文已影响21人  Vechace

标签: JVM


1、商业虚拟机:

2、JVM参数格式

-:标准参数,所有JVM都应该支持,可在命令行下输入Java查看
-X : 非标准参数,每个JVM实现都不同
-XX : 不稳定参数,下一个版本可能会取消

3、常用JVM参数

4、测试实例

-XX:PrintGCDetails,输出GC信息如下:

Heap
PSYoungGen  total 394240K, used 94393K [0x0000000780800000, 0x0000000798a00000, 0x00000007c0000000)
eden space 393216K, 23% used [0x0000000780800000,0x000000078641e400,0x0000000798800000)
from space 1024K, 6% used [0x0000000798900000,0x0000000798910000,0x0000000798a00000)
to space 1024K, 0% used [0x0000000798800000,0x0000000798800000,0x0000000798900000)
ParOldGen  total 131072K, used 596K [0x0000000701800000, 0x0000000709800000, 0x0000000780800000)
object space 131072K, 0% used [0x0000000701800000,0x0000000701895200,0x0000000709800000)
Metaspace  used 2692K, capacity 4490K, committed 4864K, reserved 1056768K
class space used 296K, capacity 386K, committed 512K, reserved 1048576K

使用Runtime类大致计算内存情况,用于追踪程序内存使用情况
参考代码

package com.vechace.JVM;
/**
* Description:使用Runtime类计算内存情况,常用于测试剩余内存
* @author vechace
*    
*/
public class JVMTest2 {
    
    static void printMemoryInfo(){
        System.out.println("total: " + Runtime.getRuntime().totalMemory());
        System.out.println("free: " +Runtime.getRuntime().freeMemory());
    }

    public static void main(String[] args) {
        
        printMemoryInfo();
        
        byte[] b = new byte[1024*1024];
        System.out.println("------------------");
        
        printMemoryInfo();

    }

}

//控制台输出:

total: 192937984
free: 190924680
------------------
total: 192937984
free: 189876088
上一篇 下一篇

猜你喜欢

热点阅读