JVM优化

一、标准参数
1、java -help
二、非标准参数
1、java -X
2、查看运行jvm参数

java -XX:+PrintFlagsInitial
jinfo -flags pid
jinfo -flags xx pid
三、jstat、jmap、MAT
1、jstat -class pid
2、jstat -compiler pid
http://blog.chinaunix.net/uid-531464-id-2354636.html
https://www.jianshu.com/p/123079b47670
https://www.jianshu.com/p/738b4f3bc44b
https://blog.csdn.net/odeng888/article/details/82754994
3、jhat -port 8888 /sdsds/dsd.dat
四、GC
1、jdk默认参数
java -XX:+PrintCommandLineFlags -version
2、打印GC日志
-XX:PrintGCDetails
3、串行垃圾器
-XX:+UseSerialGC 
4、ParNew并行垃圾器
-XX:+UseParNewGC指定年轻代使用ParNew回收器,老年的使用依然是串行收集器
通过-XX:ParallelGCThreads可以限制GC线程数量,默认启用和CPU数目相同的线程数
5、ParallelGC并行垃圾器
ParallelGC垃圾收集器相关参数如下:老年代新生代相互激活
-XX:UseParallelGC
-XX:UseParallelOldGC
-XX:MaxGCPauseMillis
-XX:ParallelGCThreads=N
6、CMS垃圾收集器
CMS使用标记-清除算法的垃圾回收器,该回收器是针对老年代的垃圾回收器,
通过参数-XX:+UseConcMarkSweepGC进行设置
年轻代激活ParNew收集器,serial old收集器。
7、G1垃圾收集器
G1垃圾收集器实在jdk1.7update4中正式使用的全新的垃圾收集器,oracle官方在
jdk9中将G1变成默认的垃圾收集器,以替代CMS。
G1垃圾收集器将新生代老年代的物理空间换分取消了,将堆划分为若干个区域-Region。
每个区域最大32M,默认2048个区域。

G1垃圾收集器相关参数:
-XX:UseG1GC
-XX:MaxGCPauseMillis暂停时间
-XX:G1HeapRegionSize=n (1-32M,默认2048个分区,最大64G内存)
-XX:G1ReservePercent=n
-XX:ConcGCThreads=n
-XX:InitiatingHeapOccupancyPercent=n(老年代大小占堆百分比达45%的时候回触发mixedGC。)
例如:
-XX:+UseG1GC -XX:MaxGCPauseMillis=100

避免使用-Xmn或-XX:NewRatio等其他相关选项显示设置,固定年轻代的大小会覆盖暂停时间目标

已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 书香水墨 设计师:CSDN官方博客 返回首页