参数 | 说明 |
-Xms | 通过这个选项可以要求系统为堆内存池分配内存空间的最小值。通常情况下这个选项的数值为1 024的整数倍并且大于1MB。这个值的取值规则为,一般情况下这个值(-Xms)与最大堆内存相同,以降低垃圾回收的频度 |
-Xmx | 同xms参数。此值可以设置与-Xmx相同,以避免每次垃圾回收完成后JVM重新分配内存。 |
-Xmn | 此值对系统性能影响较大,Sun官方推荐配置为整个堆的3/8。 |
-Xnoclassgc | 这个选项用来取消系统对特定类的垃圾回收。它可以防止当这个类的所有引用丢失之后,这个类仍被引用时不会再一次被重新装载,因此这个选项将增大系统堆内存的空间 |
-Xss | 设置每个线程的堆栈大小。JDK5.0以后每个线程堆栈大小为1M,以前每个线程堆栈大小为256K。更具应用的线程所需内存大小进行调整。 |
XX参数
参数 | 详细 |
-XX:NewSize | 在通常情况下这个选项的数值为1 024的整数倍并且大于1MB。这个值的取值规则为,一般情况下这个值-XX:NewSize是最大堆内存(maximum heap size)的四分之一。增加这个选项值的大小是为了增大较大数量的短生命周期对象 增加新对象生产堆内存相当于增加了处理器的数目。并且可以并行地分配内存,但是请注意内存的垃圾回收却是不可以并行处理的 |
-XX:MaxNewSize | 其功用与上面的设置新对象生产堆内存-XX:NewSize相同 |
-XX:SurvivorRatio | 空间(Eden/survivor)的大小的比例。设置年轻代中Eden区与Survivor区的大小比值。设置为4,则两个Survivor区与一个Eden区的比值为2:4,一个Survivor区占整个年轻代的1/6 |
-XX:NewRatio | 设置年轻代(包括Eden和两个Survivor区)与年老代的比值(除去持久代)。设置为4,则年轻代与年老代所占比值为1:4,年轻代占整个堆栈的1/5 |
-XX:MaxPermSize | 设置持久代大小 |
-XX:MaxTenuringThreshold | 设置垃圾最大年龄。如果设置为0的话,则年轻代对象不经过Survivor区,直接进入年老代。对于年老代比较多的应用,可以提高效率。如果将此值设置为一个较大值,则年轻代对象会在Survivor区进行多次复制,这样可以增加对象再年轻代的存活时间,增加在年轻代即被回收的概论。 |
-XX:+UseSerialGC | 设置串行收集器 |
-XX:+UseParallelGC | 设置并行收集器 |
-XX:+UseParalledlOldGC | 设置并行年老代收集器 |
-XX:+UseConcMarkSweepGC | 设置并发收集器 |
-XX:ParallelGCThreads | 设置并行收集器收集时使用的CPU数。并行收集线程数。 |
-XX:MaxGCPauseMillis | 设置并行收集最大暂停时间 |
-XX:GCTimeRatio | 设置垃圾回收时间占程序运行时间的百分比。公式为1/(1+n) 并发收集器设置 |
-XX:+CMSIncrementalMode | 设置为增量模式。适用于单CPU情况 |
-XX:+UseCMSCompactAtFullCollection | 使用并发收集器时,设置在FULL GC的时候, 对年老代的压缩;CMS是不会移动内存的, 因此, 这个非常容易产生碎片, 导致内存不够用, 因此, 内存的压缩这个时候就会被启用。 增加这个参数是个好习惯。可能会影响性能,但是可以消除碎片 |
-XX:CMSFullGCsBeforeCompaction | 上面配置开启的情况下,这里设置多少次Full GC后,对年老代进行压缩。由于并发收集器不对内存空间进行压缩,整理,所以运行一段时间以后会产生"碎片",使得运行效率降低.此值设置运行多少次GC以后对内存空间进行压缩,整理。
|
-XX:CMSInitiatingOccupancyFraction | 预留足够的空间给young gc,防止从young gc 过来一个较大的内存块,而年老代无足够预留空间,无法提供内存快用于回收后的分配,引起强制的full gc,造成较长时间的线程中断 |
调试辅助信息打印
-XX:+PrintGC
-XX:+PrintGCDetails -XX:+PrintGCTimeStamp -XX:+PrintGCApplicationStoppedTime -XX:PrintHeapAtGC -Xloggc:filename: -XX:+HeapDumpOnOutOfMemoryError-XX:+HeapDumpBeforeFullGC-XX:HeapDumpPath -XX:+TraceClassLoading -XX:+TraceClassUnloading -Xprof -Xrunhprof