jvm 参数

a. 对于布尔型的选项:-XX:+<option> 启用;-XX:-<option> 禁用
b. 对于数值型的选项:-XX:<option>=<number>。
单位: k/K - kilobytes
m/M - megabytes
g/G - gigabytes
c. 对于字符型的选项:-XX:<option>=<string>
d. jvm对大小写敏感。

[color=violet]1. 行为型参数[/color]

-XX:+DisableExplicitGC
禁用显式的System.GC()调用。

-XX:+RelaxAccessControlCheck
在核查器中放宽入侵控制检查

-XX:+ScavengeBeforeFullGC
新生代GC优先于Full GC执行

-XX:+UseConcMarkSweepGC
为年老代/永久代使用并发标记-清除收集器

-XX:+UseSerialGC
使用串行垃圾收集

-XX:+UseParallelGC
使用并行垃圾收集,此配置仅对年轻代有效。不能和-XX:+UseSerialGC同时使用

-XX:+UseParallelOldGC
对所有代使用并行垃圾收集器,启用该项将自动启用-XX:+UseParallelGC

-Xint
只使用解释执行模式

-client
client模式,默认模式。使用C1优化,一般用于桌面应用程序。

-server
使用C2优化,多用于服务器应用程序。

-Xnoclassgc
禁止类的垃圾回收。

-Xincgc
启用增量垃圾回收

-Xbootclasspath:
设置引导类加载器需要加载的目录、zip/jar等,使用分号隔开。

-Xbootclasspath/a:
设置引导类加载器最后需要加载的目录、zip/jar等,使用分号隔开。如-Xbootclasspath/a:D:/mvn/org/apache/ant/ant/1.5.3/ant-1.5.3.jar;E:/ant-1.6.0.jar

-Xbootclasspath/p:
设置引导类加载器最先需要加载的目录、zip/jar等,使用分号隔开


[color=violet]2. 垃圾回收参数[/color]

-XX:MaxGCPauseMillis
设置每次垃圾回收的最长时间。这是一个软目标,jvm将尽可能满足该参数。

-XX:NewRatio=n
年老代/年轻代的比率,默认值为2。因为堆内存=年轻代+年老代。此时年轻代占堆内存的1/3。

-XX:SurvivorRatio=n
Eden区和其中一个Survivor区的比率。默认值为8。因为年轻代=1个Eden+2个Survivor,所以此时每个Survivor区占年轻代的1/10。

-XX:MaxTenuringThreshold=n
如果一个对象在Survivor区移动n次还没有被回收,就放入年老代。默认值为15。

-XX:ParallelGCThreads=n
配置并行收集器的线程数。即多少个线程同时进行垃圾回收。最好配置此值与处理器数目相等。

[color=violet]3. 性能调优参数[/color]

-Xms256M
设置初始堆内存为256M

-Xmx512M
设置最大堆内存为512M

-Xmn96M
设置年轻代大小为96M

-Xss1M
设置线程栈大小为1M

-XX:PermSize=128M
设置永久代的内存为128M

-XX:MaxPermSize=256M
设置永久代的最大内存为256M。默认永久代的最大内存为64M。

-XX:NewSize=20M
年轻代的默认大小为20M。

-XX:MaxNewSize=100M
年轻代的最大内存为100M。

-XX:CompileThreshold=10000
方法被调用次数达到该阀值时,就编译为机器码。server模式默认10000,client模式默认1500。

-XX:MaxHeapFreeRatio=70
垃圾回收后,空闲堆所占的最大比例。大于该值后,堆就会被收缩。

-XX:MinHeapFreeRatio=40
垃圾回收后,空闲堆所占的最小比例。小于该值后,堆就会被扩展。

[color=violet]4. 调试跟踪参数[/color]

-XX:+PrintGC
打印垃圾回收信息。

-XX:+PrintGCDetails
打印垃圾回收详细信息。

-XX:+PrintHeapAtGC
打印GC前后的详细堆栈信息。

示例:
{Heap before GC invocations=19 (full 1):
def new generation total 78720K, used 74234K [0x03ae0000, 0x09040000, 0x0e580000)
eden space 70016K, 100% used [0x03ae0000, 0x07f40000, 0x07f40000)
from space 8704K, 48% used [0x07f40000, 0x0835e8a8, 0x087c0000)
to space 8704K, 0% used [0x087c0000, 0x087c0000, 0x09040000)
tenured generation total 174784K, used 66479K [0x0e580000, 0x19030000, 0x23ae0000)
the space 174784K, 38% used [0x0e580000, 0x1266bc50, 0x1266be00, 0x19030000)
compacting perm gen total 196608K, used 42690K [0x23ae0000, 0x2fae0000, 0x2fae0000)
the space 196608K, 21% used [0x23ae0000, 0x26490a08, 0x26490c00, 0x2fae0000)
No shared spaces configured.
26.497: [GC 26.497: [DefNew: 74234K->6916K(78720K), 0.0231646 secs] 140713K->73395K(253504K), 0.0232168 secs] [Times: user=0.02 sys=0.00, real=0.02 secs]
Heap after GC invocations=20 (full 1):
def new generation total 78720K, used 6916K [0x03ae0000, 0x09040000, 0x0e580000)
eden space 70016K, 0% used [0x03ae0000, 0x03ae0000, 0x07f40000)
from space 8704K, 79% used [0x087c0000, 0x08e81170, 0x09040000)
to space 8704K, 0% used [0x07f40000, 0x07f40000, 0x087c0000)
tenured generation total 174784K, used 66479K [0x0e580000, 0x19030000, 0x23ae0000)
the space 174784K, 38% used [0x0e580000, 0x1266bc50, 0x1266be00, 0x19030000)
compacting perm gen total 196608K, used 42690K [0x23ae0000, 0x2fae0000, 0x2fae0000)
the space 196608K, 21% used [0x23ae0000, 0x26490a08, 0x26490c00, 0x2fae0000)
No shared spaces configured.
}

-XX:+PrintGCTimeStamps
打印垃圾回收的时间戳。

-XX:+PrintTenuringDistribution
打印对象再永久代的生存期信息。

-XX:InlineSmallCode=25
当编译好的方法的本地码小于此值时,内联此方法。

-XX:MaxInlineSize=35
能被内联的方法的最大字节码大小。

-XX:FreqInlineSize=35
能被内联的频繁调用的方法的最大字节码大小。

-Xloggc:<file>
输出带时间戳的垃圾回收状态信息到指定的文件。使用此项会导致Console上不显示垃圾回收信息。

-XX:+HeapDumpOnOutOfMemoryError
堆内存溢出时dump文件,以供分析
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值