JVM常用的参数

主要是记录一些比较常用的JVM参数,总会有用到的时候。

-XX:+PrintGC 

打开GC的开关,如果系统发生GC,就会打印GC日志

-XX:PrintGCDetails

打印gc的详细信息

-verbose:gc

输出gc信息

-XX:PrintGCTimeStamps

打印GC,及GC发生的时间

-Xloggc:/gc.log

将gc的信息打印在当前应用的根路径的gc.log文件中

-XX:+PrintHeapAtGC

每次GC后打印出来堆信息

-XX:+TraceClassLoading

打印类的加载信息

-XX:TraceClassUnloading

打印类的卸载信息

-Xms20M

设置堆的最小容量为20m

-Xmx20M

设置堆的最大容量为20m, 项目当中将最大容量和最小容量设置一样避免堆自动扩展

-Xmn20M

设置年轻代的大小为20M

-XX:NewRatio=4

表示(年轻代:老年代=1:4),年轻代占整个堆的1/5

-XX:SurvivorRatio=8

表示(Survivor区:年轻代=2:8),整个survivor区占年轻代的20%

-Xss128k

设置虚拟机栈的大小为128k

-Xoss128k

设置本地方法栈的大小为128k.

-XX:PermSize=10M

设置JVM永久带的容量

-XX:MaxPermSize=20M

设置JVM永久带最大容量

-XX:+HeapDumpOnOutOfMemoryError

虚拟机可以在内存出现异常时dump出当前堆内存转储快照

-XX:PretenureSizeThreshold=3145728

当对象大小超过设定值时3M(3*1024*1024),对象会直接分配到老年代中,该参数只对Serial和ParNew两款收集器有效

-XX:MaxTenuringThreshold=1

当对象年龄大于1时,转储到老年代中,默认是15

-XX:+UseSpining

开启自旋

-XX:PreBlockSpin

设置自旋锁的自旋次数,前提是开启自旋的情况下

-XX:HeapDumpPath=D:\a.dump

发生内存溢出将信息dump到执行文件中

猜你喜欢

转载自blog.csdn.net/summerZBH123/article/details/81125268