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 |
明确指定虚拟机使用哪种线程模型 |
|
|
2、CPA重构项目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