JVM 配置参数

JVM 配置参数

其他配置参数


栈帧中的局部变量表中的槽位是可以重用的,超过作用域,并且被重用是可以被gc顺利回收的 
-Xss:栈空间的大小,栈越大,调用的方法就越多,越深

-XX:+PrintGC:可以看到垃圾回收前后堆的大小

-XX:+DoEscapeAnalysis:启用逃逸分析(局部对象不逃逸,成员对象会逃逸)

-XX:+EliminateAllocations:开启了标量替换(默认打开)

-XX:-UseTLAB:关闭了TLAB

-XX:PermSize和-XX:MaxPermSize指定方法区大小(永久代),类的信息(字段、方法、字节码等)保存在方法区(jdk1.7)

-XX:MaxMetaspaceSize:元数据区可以使系统支持更多的类(这是堆的直接内存,理论可以耗尽系统内存)Metaspace

虚拟机日志

-XX:+PrintGC:打印Gc回收信息
-XX:+PrintGCDetails:打印GC回收详细信息
-XX:+PrintGCTimeStamps:分析GC发生的时间
-XX:+PrintGCApplicationConcurrentTime:打印应用程序的执行时间
-XX:+PrintGCApplicationStoppedTime:打印应用程序由于GC而产生的停顿时间
-Xloggc:log/gc.log:虚拟机允许将GC日志以文件的形式输出
-Xlog:gc:建议jdk9,10之后是使用
-Xlog:gc*:建议jdk9,10之后是使用

类加载/卸载的跟踪

-verbose:class:跟踪类的加载/卸载

-XX:+TraceClassLoading:跟踪类的加载
-Xlog:class+load=info:(JDK9、JDK10中建议使用)

-XX:+TraceClassUnloading:跟踪类的卸载  
-Xlog:class+unload=info:JDK9、JDK10中建议使用


-XX:+PrintClassHistogram:在Java的控制台中按下Ctrl+Break组合键,控制台上就会显示当前的类信息柱状图

-XX:+PrintVMOptions:程序运行时打印虚拟机接收到的命令行显式参数

堆内存的配置

尽可能将对象预留在新生代,减少老年代GC的次数

Full GC,它同时回收了新生代、老年代和永久区

新生代(new generation)=(eden+from+to)
老年代(tenured generation)
永久区(compacting perm gen)

-XX:MaxHeapSize:最大堆内存
-Xms:初始堆
-Xmx:最大堆
-Xmn:设置新生代的大小(较大的新生代会减小老年代的大小,新生代的大小一般设置为整个堆空间的1/3到1/4)
-XX:SurvivorRatio=2:(2:1)设置新生代中eden区和from/to区的比例
-XX:NewRatio:来设置新生代和老年代的比例
-XX:+HeapDumpOnOutOfMemoryError:可以在内存溢出时导出整个堆的信息(使用MAT等工具)
-XX:HeapDumpPath=d:/a.dump:指定导出堆的存放路径

image

非堆内存的参数配置

  • 方法区配置
在JDK 1.6和JDK 1.7等版本中

-XX:PermSize:初始的永久区大小
-XX:MaxPermSize:最大永久区大小

从JDK 1.8开始
-XX:MaxMetaspaceSize:指定永久区的最大可用值,默认情况:元数据区只受系统可用内存的限制
  • 栈配置
-Xss:指定线程的栈大小
  • 直接内存配置
-XX:MaxDirectMemorySize:默认值为最大堆空间(-Xmx),满了则触发垃圾回收,收不了则OOM,Java有安全类Unsafe直接操作内存

直接内存适合申请次数较少、访问较频繁的场合。如果需要频繁申请内存空间,则并不适合使用直接内存
  • 虚拟机的工作模式
-clien:指定使用Client模式
-server:使用Server模式
-XX:+PrintFlagsFinal:查看给定参数的默认值
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值