/**jdk 1.8**/
#服务器模式,默认 VM 是 server.
-server
#设置初始 Java 堆大小,单位默认是字节,可以使用k,m,g
-Xms1000m
#设置最大 Java 堆大小,单位默认是字节,可以使用k,m,g
-Xmx2000m
#设置 Java 线程堆栈大小,单位默认是字节,可以使用k,m,g(线程工作栈大小)
-Xss126k
#年轻代,老年代大小,这个值应该小于 -Xmx的值,单位默认是字节,可以使用k,m,g
-Xmn32m
#元数据区初始空间大小
-XX:MetaspaceSize=256m
#元数据区最大空间,默认是没有限制的。
-XX:MaxMetaspaceSize=512m
#在GC之后,最小的Metaspace剩余空间容量的百分比,减少为分配空间所导致的垃圾收集
-XX:MinMetaspaceFreeRatio
#在GC之后,最大的Metaspace剩余空间容量的百分比,减少为释放空间所导致的垃圾收集
-XX:MaxMetaspaceFreeRatio
#设置导出堆大小的目录或文件名的路径
-XX:HeapDumpPath=./java_pid/hdp
#当产生内存溢出的时候导出堆信息到文件中
-XX:-HeapDumpOnOutOfMemoryError
#使用Ctrl-Break打断的时候打印类实例的直方图
-XX: -PrintClassHistogram
#打印GC回收时的详细信息
-XX:+PrintGCDetails
#打印进行垃圾回收时的时间戳
-XX: -PrintGCTimeStamps
#输出GC详细日志到指定文件,具体详细输出内容由GC标签参数决定
-Xloggc:../logs/gc.log
#混合模式执行 (默认)
-Xmixed
#打印花费在JIT编译上的时间
-XX:-CITime
#当前空余堆内存大于指定比率,使用-Xms的heap大小,默认70%
-XX:MaxHeapFreeRation=70
#回收算法:
# -XX:+UseSerialGC (默认,年轻代与老年代都并行单线程,如果发生Full GC,持续时间更长,系统吞吐量比较不稳定)
# -XX:+UseParallelGC (年轻代多线程,老年代单线程,如果发生Full GC,持续时间比-XX:+UseSerialGC短,系统吞吐量比较稳定)
# -XX:+UseParallelOldGC (年轻代多线程,老年代多线程)
# -XX:+UseConcMarkSweepGC (年轻代多线程,老年代使用CMS,力求最低的暂停时间,但是采用CMS有可能出现“Concurrent Mode Failure”,如果出现了对老年代也是采用单线程回收)
-XX:+UseSerialGC
/**jdk 1.7**/
#Eden区与Survivor区的大小比值,-XX:SurvivorRatio=8表示Eden区与Survivor区的大小比值是8:1:1,因为Survivor区有两个(from, to)
-XX:SurvivorRatio=n
#
-XX:MetaspaceSize
#持久代(方法区)的最大内存大小。
-XX:MaxPermSize=128m
#新生代的最大年龄,代表对象在Survivor区经过10次复制以后才进入老年代。如果设置为0,则年轻代对象不经过Survivor区,直接进入老年代。
-XX:+MaxTenuringThreshold=10
示例(jdk1.8):
set JAVA_OPTS=%JAVA_OPTS% -server -Xmx1000m -Xms1000m -Xmn250m -XX:MetaspaceSize=512m -XX:MaxMetaspaceSize=512m -Xss256k -XX:+DisableExplicitGC -XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabled -XX:LargePageSizeInBytes=128m -XX:+UseFastAccessorMethods -XX:+UseCMSInitiatingOccupancyOnly -XX:CMSInitiatingOccupancyFraction=70 -Duser.timezone=GMT+8 -XX:+PrintClassHistogram -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintHeapAtGC -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/b2b_interface.dump -Xloggc:/b2b_interface_gc.log -verbose:gc -Xmixed -XX:-CITime