虚拟机优化参数

 

 

java虚拟机规范中文版:http://icyfenix.iteye.com/

 

-Dcom.sun.management.jmxremote

开启JMX管理功能

-Xss1024m

设置虚拟机栈每个线程的堆栈大小,jdk5一会默认是1M

-Xmn256m

 设置新生代内存大小

-Xms1024m

扫描二维码关注公众号,回复: 3438949 查看本文章

 设置初始化内存大小

-Xmx1024m

设置虚拟机最大使用内存大小

-XX:MaxDirectMemorySize=1024m

 设置直接内存(默认与指定的最大内存相同)

-XX:PermSize=128m

设置永久代内存大小(JDK7之前有效)

-XX:MaxPermSize=128m

设置永久代最大内存大小(JDK7之前有效)

-XX:MetaspaceSize=256m

 jdk8之后设置元数据最小空间(存储类加载信息)

-XX:MaxMetaspaceSize=128m

 jdk8之后设置元数据最大空间(存储类加载信息)

-Xverify:none

关闭字节码验证

-XX:PretenureSizeThreshold=3145728

 (3m)参数,令大于这个值的参数直接在老年代分配

-XX:+HeapDumpOnOutOfMemoryError

让虚拟机在OOM异常出现之后自动生成dump文件

-XX:PretenureSizeThreshold

大于这个设置值的对象直接在老年代分配

-XX:MaxTenuringThreshold

设置晋升老年代的年龄阈值,默认15

-XX:HandlePromotionFailure

 设置失败担保

-Xnoclassgc

设置回收class详情

 -verbose:class

 

-XX:+/-UseTLAB

 本地线程分配缓冲(Thread Local Allocation Buffer,TLAB)

-XX:+PrintGCTimeStamps

(打印GC停顿时间)

-XX:+PrintGCDetails

(打印GC详细信息)

verbose

获取类型加载和卸载的信息

-verbose:gc

(打印GC信息,输出内容已被前一个参数包括,可以不写)

-Xloggc:/data/logs/gc.log

垃圾回收日志记录文件

-XX:+TraceClassLoading

类加载信息

-XX:+TraceClassUnLoading

 查看类卸载信息

-XX:CompileThreshold

设置计数器的热点探测阈值,默认阈值在Client模式下是1500次,在Server模式下是10 000次

-XX:-UseCounterDecay

设置关闭热度衰减

-XX:CounterHalfLifeTime

 设置半衰周期的时间,单位是秒

-XX:BackEdgeThreshold

设置回边计数器的阈值

-XX:OnStackReplacePercentage

设置间接调整回边计数器的阈值

 

即时编译优化(JIT)(在JDK 1.6 Update 23的Server Compiler中才开始默认开启了逃逸分析):

-XX:-BackgroundCompilation

禁止后台异步即时编译,一旦达到JIT编译条件,则等待编译完成之后执行编译之后的本地代码

-XX:+DoEscapeAnalysis

设置手动开启逃逸分析

-XX:+PrintEscapeAnalysis

设置查看分析结果

-XX:+EliminateAllocations

来开启标量替换

-XX:+EliminateLocks

开启同步消、

-XX:+PrintEliminateAllocations

查看标量的替换情况

-- 设置线程模型

 

-XX:+UseLWPSynchronization

(默认值)

-XX:+UseBoundThreads

明确指定虚拟机使用哪种线程模型

 

 

 

 

2CPA重构项目JVM优化配置

 

-Xms3000m

-Xmx3000m                       

-Xmn1600m                                                #设置新生代内存大小1600M

-Xss256k                                                       #设置虚拟机栈,每个线程堆栈大小

-XX:PermSize=256m                                  #永久代初始化内存,JDK7后失效

-XX:MaxPermSize=256m                          #永久代最大内存,JDK7后失效

-XX:MaxDirectMemorySize=1024m        #直接内存

-XX:MetaspaceSize=256m                        #初始化元数据空间

-XX:MaxMetaspaceSize=256m                #最大元数据空间

-XX:PretenureSizeThreshold=2097152  #(2m)大于等于2m的数据直接在老年代分配

-XX:+PrintGCDetails

-XX:+HeapDumpOnOutOfMemoryError

-Xverify:none

-verbose:gc

-Xloggc:/data/creditCPA-Tomcat/logs/credit_cpa_gc.log

-XX:+PrintGCDetails

-server

 

 

猜你喜欢

转载自blog.csdn.net/u013021113/article/details/78030214